假设我以以下方式设置了熊猫数据框:
col1| col2 | col3
1 A 10
1 A 10
3 B 12
在第一个再次出现的col2实例之后,是否可以将col3的值设置为0?我希望输出以下结果:
col1| col2 | col3
1 A 10
1 A 0
3 B 12
对于这个令人困惑的问题,我深表歉意,这是我形容它的最佳方式!
答案 0 :(得分:2)
您可以使用DataFrame.duplicated
:
df.loc[df.duplicated(subset='col2'), 'col3'] = 0
col1 col2 col3
0 1 A 10
1 1 A 0
2 3 B 12
答案 1 :(得分:1)
您可以使用np.where:
import pandas as pd
import numpy as np
df = pd.DataFrame({'col1': [1, 1, 3],
'col2': ['A', 'A', 'B'],
'col3': [10, 10, 12]})
df['col3'] = np.where(df['col2'].duplicated(), 0, df['col3'])
df
col1 col2 col3
0 1 A 10
1 1 A 0
2 3 B 12