如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?
根据上一行的值条件增加新列
在 pandas 中,可以通过 df.apply() 函数结合条件判断和赋值操作,根据上一行的值条件向 dataframe 中增加新列。
例如,给定一个 dataframe:
values = [[5.5, 2.5, 10.0], [2.0, 4.5, 1.0], [2.5, 5.2, 8.0], [4.5, 5.8, 4.8], [4.6, 6.3, 9.6], [4.1, 6.4, 9.0], [5.1, 2.3, 11.1]] df = pd.dataframe(values, columns=['col1', 'col2', 'col3'],index=['a', 'b', 'c', 'd', 'e', 'f', 'g'])
要根据 col1 列的值条件向 dataframe 中增加新列 col4,满足条件 3
df['col4'] = df.apply(lambda x: 1 if 3 < x['col1'] < 5 else 0, axis=1)
结果为:
col1 col2 col3 col4 a 5.5 2.5 10.0 0 b 2.0 4.5 1.0 0 c 2.5 5.2 8.0 0 d 4.5 5.8 4.8 1 e 4.6 6.3 9.6 1 f 4.1 6.4 9.0 1 g 5.1 2.3 11.1 0
进一步,如果需要将满足条件 3
df['col4'] = df['col4'].cumsum()
结果为:
col1 col2 col3 col4 a 5.5 2.5 10.0 0 b 2.0 4.5 1.0 0 c 2.5 5.2 8.0 0 d 4.5 5.8 4.8 1 e 4.6 6.3 9.6 2 f 4.1 6.4 9.0 3 g 5.1 2.3 11.1 3
以上就是如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?的详细内容,更多请关注硕下网其它相关文章!