小编Dan*_*niB的帖子

Pandas - 根据多种条件更新列 - 按方法分组

我的目标是以下输出。

一种 C D F
0000 ZZZ 987 QW1 8 前三四列和偏移量
0000 ZZZ 987 QW1 -8 前三四列和偏移量
0000 ZZZ 987 QW1 -8 第一次或不匹配
1111 AAA 123 AB1 1 前三四列和偏移量
1111 AAA 123 CD1 -1 前三四列和偏移量
2222 BBB 456 EF1 -4 前三四列和偏移量
2222 BBB 456 GH1 -1 前三四列和偏移量
2222 BBB 456 IL1 5 前三四列和偏移量
3333 CCC 789 MN1 2 前两个 col 和 offset
3333 CCC 101 MN1 -2 前两个 col 和 offset
4444 直拨电话 121 UYT 6 前两个 col …

python group-by pandas

11
推荐指数
2
解决办法
391
查看次数

如果熊猫满足条件,则更新列

我有一个数据框要处理,我正在执行多项检查。

我正在检查“A”、“B”和“C”列下的重复值是否显示相同的数字,但在 D 列下具有相反的符号。

一种 C D
1111 AAA 123 0.01 评论被替换
2222 BBB 456 5 评论被替换
3333 CCC 789 10 什么都不做
1111 AAA 123 -0.01 评论被替换
2222 BBB 456 -5 评论被替换
3333 CCC 789 -9 什么都不做

请在下面查看我的代码。当我尝试替换“E”列下的注释时,它不起作用。我确定我做错了什么。我完全意识到我没有以最有效的方式编写代码,我仍然是一个新手。您能否以更有效的方式帮助我实现这一目标,并且出于好奇,如果我决定继续使用这种“非高效”方式,如何实现这一目标?

谢谢你。

for i in range(0, len(df)-1):
    for j in range(i+1, len(df)):
        if (df['A'][i] == df['A'][j]) & (df['B'][i] == df['B'][j]) & (df['C'][i] == df['C'][j]) & (df['D'][i] + df['D'][j] = 0) :
            df['E'][i] = 'it works!'
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

3
推荐指数
1
解决办法
73
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

group-by ×1