首页 > 解决方案 > 根据条件将一列的值赋予熊猫数据框中的另一列

问题描述

我有一个数据框:

df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
                   'B': [5, '-', '-', 8, 9],
                   'C': ['-', 'b', 'c', '-', 'e']})

如何df['B']df['C']、 ifdf['B']='-'df['C']!= '-'.

预期输出:

({'A': [0, 1, 2, 3, 4],
  'B': [5, 'b', 'c', 8, 9],
  'C': ['-', 'b', 'c', '-', 'e']})

出去

我用了:

replace = (df['B'] == '-') & (df['C'] != '-')
df['B'][replace1] = df['C']

有没有更好的办法?

标签: pythonpandasdataframe

解决方案


尝试这个 :

import numpy as np 
df['B']=np.where((df['B']=='-')&(df['C']!='-'),df['C'],df['B'])

数据框看起来像:

在此处输入图像描述


推荐阅读