用条件填充熊猫列

瓢虫

我正在尝试用以下条件填充C列:如果B列的值是None,则用列A的值填充C列。如果B列不是None,则用值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': None, 'C': ''}])

df["C"] = df["B"].apply(lambda x: 3 if (x != None) else df["A"])

我的输出:

TypeError:“ int”类型的对象没有len()

我知道问题是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}])
耶斯列尔

使用numpy.where与测试None通过Series.isna

df["C"] = np.where(df["B"].isna(), df['A'], 3)
#alternative
#df["C"] = df['A'].where(df["B"].isna(), 3)
   print (df)
 A     B  C
0  5  None  5
1  2   foo  3
2  6   foo  3
3  1  None  1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用另一列的条件填充一列并移动熊猫中的值

来自分类Dev

在熊猫中,使用“ where”选择时,删除不满足条件的列,而不是用NaN填充

来自分类Dev

根据递增的列条件向前填充熊猫

来自分类常见问题

熊猫用行值填充列

来自分类Dev

熊猫用行值填充列

来自分类Dev

用列表填充熊猫列的空值

来自分类Dev

熊猫用列值填充NaN

来自分类Dev

用熊猫中的条件用df填充NaN值

来自分类Dev

根据条件填充熊猫

来自分类Dev

基于其他列值的熊猫条件填充

来自分类Dev

根据条件填充另一列(熊猫)的空值

来自分类Dev

R:尝试按特定条件用值填充列

来自分类Dev

熊猫 - 用正则表达式条件列引用

来自分类Dev

根据条件用熊猫替换多列中的值

来自分类Dev

根据另一列中的多个条件在熊猫数据框中填充一列

来自分类Dev

用另一个数据框的列填充熊猫中的数据框列

来自分类Dev

熊猫条件列数

来自分类Dev

熊猫:如果条件为真,则在2个值之间填充列

来自分类Dev

如何在熊猫中有条件地填充列中的空值

来自分类Dev

用熊猫交换列

来自分类Dev

用%拆分熊猫列

来自分类Dev

用相同的值填充两个熊猫列值之间的值

来自分类Dev

用熊猫数据框中的一些默认值填充每个列组合的值

来自分类Dev

python-用groupby填充熊猫

来自分类Dev

用熊猫填充最近的已知数据

来自分类Dev

熊猫用多个值划分填充

来自分类Dev

Pandas 用 string.split() 根据条件从不同的列填充列

来自分类Dev

用严格的填充限制填充熊猫数据框

来自分类Dev

用熊猫重复用另一列的一部分填充一列的值