我正在尝试计算一列中的新值,该列的值与另一列交叉引用。
>>> import pandas as pd
>>> df = pd.DataFrame( {"A":[0., 100., 80., 40., 0., 60.],
"B":[12, 12, 3, 19, 3, 19]} )
>>> df
A B
0 0.0 12
1 100.0 12
2 80.0 3
3 40.0 19
4 0.0 3
5 60.0 19
我想找到 A 列中所有为 0 的值,找出 B 列中的相应值,然后根据某个函数更改具有相同 B 列值的所有 A 列值。例如,在上面的示例中,我想将 A 列的前两个值df.A[0]和df.A[1]0. 和 100. 分别更改为 0.5 和 99.5,因为df.A[0]是 0. 并且它df.B[0] = 12在 B 列中的值与df.B[1] = 12.
df
A B
0 0.5 12
1 99.5 12
2 79.5 3
3 40.0 19
4 0.5 3
5 60.0 19
我尝试链接 loc、aggregate、groupby 和 mask 功能,但我没有成功。是通过 for 循环的唯一方法吗?
鸿蒙传说
饮歌长啸
相关分类