我有以下数据框,
Index Col1 Col2 Col3 Col4
IDX1 MN ABC SHUITY
IDX2 CA DAC HUI
IDX3 IX AAA None
IDX4 JN HSY JHYW
IDX5 MO AAA None
IDX6 MN AAA None
IDX7 CA AJDH JDUE
IDX8 JX SJYW JSI
请注意,AAA
的值col3
时,None
中的相应col值为Col4
。我想将其替换为AAA
中的Col4
。我该怎么做?
答案 0 :(得分:1)
IIUC,您可以使用np.where
-
df['Col4'] = np.where(df.Col2 == 'AAA', 'AAA', '')
df
Index Col1 Col2 Col3 Col4
0 IDX1 MN ABC SHUITY
1 IDX2 CA DAC HUI
2 IDX3 IX AAA None AAA
3 IDX4 JN HSY JHYW
4 IDX5 MO AAA None AAA
5 IDX6 MN AAA None AAA
6 IDX7 CA AJDH JDUE
7 IDX8 JX SJYW JSI
Col4
可能已经有了一些值。在这种情况下,需要稍作修改。
df['Col4'] = np.where(df.Col2 == 'AAA', 'AAA', df.Col4)
如果单元格不需要重新分配,则保留相同的值。
或者,您可以使用loc
-
df.loc[df.Col2 == 'AAA', 'Col4'] = 'AAA'