如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?

如何在 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 中根据上一行的值条件增加新列并累加满足条件的值?的详细内容,更多请关注硕下网其它相关文章!