Python 用条件填充panda列
我试图用条件填充C列:如果B列的值为无,则用a列的值填充C列。如果B列不是无,则用值3填充C列 我试过:Python 用条件填充panda列,python,pandas,Python,Pandas,我试图用条件填充C列:如果B列的值为无,则用a列的值填充C列。如果B列不是无,则用值3填充C列 我试过: import pandas df = pandas.DataFrame([{'A': 5, 'B': None, 'C': ''}, {'A': 2, 'B': "foo", 'C': ''}, {'A': 6, 'B': "foo", 'C': ''}, {'A': 1, 'B
import pandas
df = pandas.DataFrame([{'A': 5, 'B': None, 'C': ''},
{'A': 2, 'B': "foo", 'C': ''},
{'A': 6, 'B': "foo", 'C': ''},
{'A': 1, 'B': None, 'C': ''}])
df["C"] = df["B"].apply(lambda x: 3 if (x != None) else df["A"])
df = pandas.DataFrame([{'A': 5, 'B': None, 'C': 5},
{'A': 2, 'B': "foo", 'C': 3},
{'A': 6, 'B': "foo", 'C': 3},
{'A': 1, 'B': None, 'C': 1}])
我的输出:
TypeError:类型为“int”的对象没有len()
我知道问题是df[“A”],但我不知道如何解决它
输出良好:
import pandas
df = pandas.DataFrame([{'A': 5, 'B': None, 'C': ''},
{'A': 2, 'B': "foo", 'C': ''},
{'A': 6, 'B': "foo", 'C': ''},
{'A': 1, 'B': None, 'C': ''}])
df["C"] = df["B"].apply(lambda x: 3 if (x != None) else df["A"])
df = pandas.DataFrame([{'A': 5, 'B': None, 'C': 5},
{'A': 2, 'B': "foo", 'C': 3},
{'A': 6, 'B': "foo", 'C': 3},
{'A': 1, 'B': None, 'C': 1}])
通过以下方式与测试None
一起使用:
通过以下方式与测试None
一起使用: