使用熊猫,我循环打开了一些csv文件,并将索引设置为该cycleID
列,除非该cycleID
列不是唯一的。见下文:
for filename in all_files:
abfdata = pd.read_csv(filename, index_col=None, header=0)
abfdata = abfdata.set_index("cycleID", drop=False)
for index, row in abfdata.iterrows():
print(row['cycleID'], row['mean'])
这将打印我感兴趣的数据框的两列(cycleID
和mean
),以进行进一步的计算:
1 1.5020712104685252e-11
1 6.56683605063102e-12
2 1.3993315187144084e-11
2 -8.670502467042485e-13
3 7.0270625256163566e-12
3 9.509995221868016e-12
4 1.2901435995915644e-11
4 9.513106448422182e-12
目的是使用与之对应的行,cycleID
并计算mean
列值之间的差。因此,如果表中有8行,则最终数组或列表将存储4个值。
我也想使其具有可伸缩性,因为在同一行中可以有3个或更多行cycleID
。在这种情况下,每个cycleID
可能有2个或更多的mean
差异。
我目前正在努力访问相同的2行cycleID
以计算差异。尝试使用.loc
和.iloc
东西,或将groupby()
它们组合在一起,但这是一团糟。指针表示赞赏。
好像字典无法创建,因为cycleID
它不是唯一的。
您可以使用 groupby
s2= df.groupby(['cycleID'])['mean'].diff()
s2.dropna(inplace=True)
输出
1 -8.453876e-12
3 -1.486037e-11
5 2.482933e-12
7 -3.388330e-12
8 3.000000e-12
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句