这里已经提供了单列的解决方案:Pandas:检查列值是否小于任何先前的列值 https://stackoverflow.com/questions/53737715/pandas-check-if-column-value-is-smaller-than-any-previous-column-value.
但是,我的数据集由许多列组成,我不想暴力破解许多代码。
示例数据集:
c d e
0 3 5 8
1 1 5 8
2 5 6 8
3 6 7 8
4 2 1 9
5 9 3 3
期望的结果:
c d e c_diff d_diff e_diff
0 3 5 8 False False False
1 1 5 8 True False False
2 5 6 8 False False False
3 6 7 8 False False False
4 2 1 9 True True False
5 9 3 3 False False True
有没有办法用简单的 Python/Panda 代码行来执行此任务?
我们可以用DataFrame.diff https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.diff.html with DataFrame.lt https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.lt.html
df.diff().lt(0).add_suffix('_diff')
c_diff d_diff e_diff
0 False False False
1 True False False
2 False False False
3 False False False
4 True True False
5 False False True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)