我有一个数据框,如果'gender'列为空,我想用'name'列的值填充'column3'列,否则用'gender'列的值填充'column3'列。
结果是column3只包含来自“gender”的值。 我尝试了以下语句:
vals = {
'name' : ['n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7'],
'gender' : ['', '', '', 'f', 'f', 'c', 'c'],
'age' : [39, 12, 27, 13, 36, 29, 10]
}
df4 = pd.DataFrame(vals)
df4['column3'] = df4['name'] if len(df4['gender']) == 0 else df4['gender']
结果是column3只包含来自“gender”的值。 我尝试了以下语句:
df4['column3'] = np.where(df4['gender'].empty, df4['name'],df4['gender'])
df4['column3'] = df4['name'] if df4['gender'].empty else df4['gender']
结果相同...所以我认为我的代码无法识别Python数据框中的空字符串。我错过了什么?
df4['column3'] = np.where(df4.gender.eq(''), df4.name, df4.gender)
- Zero