pandas dataframe:将一列中的值与前一个值进行比较
pandas dataframe: compare value in one column with previous value
我有一个 pandas 数据框,我想在其中添加一列 (col_new),其值取决于现有列 (col_exist) 中值的比较。
现有列(类型=对象)包含 A 和 B。
新列应该计数,从 1 开始。
如果 A 跟在 A 之后,计数应该增加 1。
如果 A 跟在 B 之后,计数应该增加 1。
如果 B 跟在 A 之后,则计数不应增加。
如果一个 B 跟在一个 B 之后,计数应该不会增加。
col_exist col_new
A 1
A 2
A 3
B 3
A 4
B 4
B 4
A 5
B 5
我对编程完全陌生,所以提前感谢您的充分回答。
使用eq
和cumsum
:
df['col_new'] = df['col_exist'].eq('A').cumsum()
输出:
col_exist col_new
0 A 1
1 A 2
2 A 3
3 B 3
4 A 4
5 B 4
6 B 4
7 A 5
8 B 5
我有一个 pandas 数据框,我想在其中添加一列 (col_new),其值取决于现有列 (col_exist) 中值的比较。
现有列(类型=对象)包含 A 和 B。 新列应该计数,从 1 开始。 如果 A 跟在 A 之后,计数应该增加 1。 如果 A 跟在 B 之后,计数应该增加 1。 如果 B 跟在 A 之后,则计数不应增加。 如果一个 B 跟在一个 B 之后,计数应该不会增加。
col_exist col_new
A 1
A 2
A 3
B 3
A 4
B 4
B 4
A 5
B 5
我对编程完全陌生,所以提前感谢您的充分回答。
使用eq
和cumsum
:
df['col_new'] = df['col_exist'].eq('A').cumsum()
输出:
col_exist col_new
0 A 1
1 A 2
2 A 3
3 B 3
4 A 4
5 B 4
6 B 4
7 A 5
8 B 5