程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我将如何放置 Excel 工作表的多个最大值和最小值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决我将如何放置 Excel 工作表的多个最大值和最小值?

开发过程中遇到我将如何放置 Excel 工作表的多个最大值和最小值的问题如何解决?下面主要结合日常开发的经验,给出你关于我将如何放置 Excel 工作表的多个最大值和最小值的解决方法建议,希望对你解决我将如何放置 Excel 工作表的多个最大值和最小值有所启发或帮助;

我有一个 excel 表格,它使用 Pandas、matplot 和 numpy 来绘制我的数据,但我也希望它为我提供所有周期的最大值和最小值。这是我的数据除了大约 50k 行并且只达到 21 个周期之外的样子。

循环 电压
1@H_616_15@ 0.30@H_616_15@
1@H_616_15@ 0.05@H_616_15@
1@H_616_15@ -0.25@H_616_15@
2@H_616_15@ 0.35@H_616_15@
2@H_616_15@ 0.07@H_616_15@
2@H_616_15@ -0.23@H_616_15@

我最好的想法是使用 for 循环来查找每个循环中的最大值和最小值,但似乎根本无法使其正常工作,也不确定如何去做。

解决方法

这是一种方法。出于测试目的,我将以下数据放入 CSV 文件中:

Cycle,Voltage
1,0.30
1,0.05
1,-0.25
13,0.03
13,0.005
13,-0.025
2,0.35
2,0.07
2,-0.23

代码如下:

from itertools import groupby
import csv
from operator import itemgetter
from typing import NamedTuple


class Record(NamedTuplE):
    """ Define the fields and their types of a record. """
    Cycle: int
    Voltage: float

    @classmethod
    def transform(cls: 'Record',Dict_: Dict) -> tuple:
        """ Convert String values in given Dictionary to corresponding Record
            class field type."""
        return tuple(cls.__Annotations__[name](value) for name,value in Dict_.items())


filepath = 'voltages.csv'

with open(filepath,newline='') as file:
    reader = csv.DictReader(filE)
    data = sorted(map(Record.transform,reader))

groups = {}
for k,g in groupby(data,key=itemgetter(0)):
    voltages = tuple(map(itemgetter(1),g))
    groups[k] = (min(voltages),max(voltages))

print(groups)  # -> {1: (-0.25,0.3),2: (-0.23,0.35),13: (-0.025,0.03)}

大佬总结

以上是大佬教程为你收集整理的我将如何放置 Excel 工作表的多个最大值和最小值全部内容,希望文章能够帮你解决我将如何放置 Excel 工作表的多个最大值和最小值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。