我有一个dataframe,如果列“gender”为空,我想用列“name”填充“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']
“性别3”列中只有“值”的结果。 我试过以下说法:
^{pr2}$同样的结果..所以我认为我的代码不能识别Python数据帧中的空字符串。我错过了什么?在
您的
numpy.where
构造非常适合使用。在您面临的问题是如何测试列与空字符串。答案是检查等式与
''
。在这很容易实现:
^{} 测试序列是否有没有项,即没有行,而不是其元素是否为空字符串。在
示例
^{pr2}$我更喜欢用熊猫一个人来做这件事,而不是介绍numpy:
有很多方法,但我觉得以下是最简洁的:
相关问题 更多 >
编程相关推荐