大佬教程收集整理的这篇文章主要介绍了我将如何放置 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,请注明来意。