Max*_*mus 2 python dataframe pandas
我想知道如何将一个列值分配给另一列(如果它具有 null 或 0 值)我有一个像这样的数据框:
id column1 column2
5263 5400 5400
4354 6567 Null
5656 5456 5456
5565 6768 3489
4500 3490 Null
Run Code Online (Sandbox Code Playgroud)
预期输出是
id column1 column2
5263 5400 5400
4354 6567 6567
5656 5456 5456
5565 6768 3489
4500 3490 3490
Run Code Online (Sandbox Code Playgroud)
也就是说,如果 df['column2'] = Null/0 则它具有 df['column1'] 值。
有人可以解释一下,我怎样才能达到我想要的输出?
根据此类似问题的答案,您可以执行以下操作:
使用np.where:
df['column2'] = np.where((df['column2'] == 'Null') | (df['column2'] == 0), df['column1'], df['column2'])
Run Code Online (Sandbox Code Playgroud)
相反,仅使用pandasPython:
df['column2'][(df['column2'] == 0) | (df['column2'] == 'Null')] = df['column1']
Run Code Online (Sandbox Code Playgroud)