首页 > 解决方案 > 如何迭代列并将每个迭代结果保存在结果数据框python中

问题描述

我有一个包含多列的数据框,我需要为所有列计算相同的东西,有什么办法吗?我有很多列,所以不能一一做

df=pd.DataFrame({r'A':[1,24,69,67],r'A\0001\delta':[1,46,454,67],r'A\0002\delta':[1,46,454,67],r'A\00100\delta':[1,46,70,67]})

i want to calculate:
diff=df[r'A\0001\delta'].diff()
if diff greater than 60 save row in result dataframe 

我想为超过 100 列做同样的事情,并希望将结果逐行保存在结果数据框中

标签: python-3.xpandasnumpy

解决方案


一行中至少有一个大于 60 的值

>>> df.loc[df.diff().gt(60).any(axis=1)]

    A  A\0001\delta  A\0002\delta  A\00100\delta
2  69           454           454             70

连续大于 60 的所有值:

>>> df.loc[df.diff().gt(60).all(axis=1)]

Empty DataFrame
Columns: [A, A\0001\delta, A\0002\delta, A\00100\delta]
Index: []

推荐阅读