熊猫-如果满足条件则更新列

纳特尼

我有三列试图更新其中的值。逻辑是:如果该列中的特定行为空白,我想将其改为n而不是None如果其中有一个值,那么我想更改该值以说y下面是一个示例:

Current data:
barcode dash_1  dash_2  dash_3
ABC123  ABC123  ABC123  None
ABC124  ABC124  ABC124  ABC124
ABC125  None    ABC125  ABC125
ABC126  ABC126  None    None

Desired output:
barcode dash_1  dash_2  dash_3
ABC123  y       y       n
ABC124  y       y       y
ABC125  n       y       y
ABC126  n       n       n

我一直在尝试做与下面的代码类似的事情,但是我得到的消息str对象没有attribute isnull有什么想法我做错了吗?谢谢!

for idx, row in barcodes2.iterrows():
    for col in ['dash_1','dash_2','dash_3']:
        if row[col].isnull():
            row[col] == 'n'
        else:
            row[col] == 'y'
迈克·米勒

您可以使用df.notnull()设置所有值df.isnull()

df[df.notnull()] = 'y'
df[df.isnull()] = 'n'

例:

>>> df
  barcode  dash_1  dash_2  dash_3
0  ABC123  ABC123  ABC123    None
1  ABC124  ABC124  ABC124  ABC124
2  ABC125    None  ABC125  ABC125
3  ABC126  ABC126    None    None

现在:

>>> df[df.notnull()] = 'y'
>>> df[df.isnull()] = 'n'
>>>  df
  barcode dash_1 dash_2 dash_3
0       y      y      y      n
1       y      y      y      y
2       y      n      y      y
3       y      y      n      n

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果条件满足,熊猫复制行并赋值

如果两列满足一个条件,则返回其他列的计算值。熊猫 / 窗户

如果满足条件,大熊猫会创建一列等于另一列

如果条件满足熊猫,则根据另一列的升序向列添加字符

熊猫满足条件的列合并行

删除值计数满足条件的列(熊猫)

熊猫:计算满足条件的列之间的时间

如果不同的列满足熊猫中的条件,如何从组中删除所有行

熊猫:如果满足条件,则将列的值替换为上一行的值

如果满足条件,如何用前一行替换熊猫列行

如果其他任何列满足某些条件,如何将整个组放入熊猫中?

如何删除行,如果它不使用熊猫满足条件

熊猫数据框,如果满足条件则跳过索引

熊猫:标记重叠的日期,但如果满足条件,则排除某些行

在满足熊猫特定条件的地方更新行值

熊猫:求和列,直到满足其他列的条件

如果满足条件,则根据上一个非零值在“熊猫”列中填充零值

如果否则条件熊猫

如果/那么熊猫条件

获取在熊猫中满足多个条件的行号和列号

熊猫groupby:计算满足其他列条件的行?

熊猫将满足大于和小于条件的列的值乘以

就地应用于满足条件的熊猫数据框的列

满足条件的熊猫在列中删除n行

熊猫groupby列,并检查组是否满足多个条件

熊猫计算满足条件时列之间的时间差

熊猫删除前n行,直到满足列条件

Python:检查熊猫列值的长度是否满足条件

返回满足熊猫条件的第一列号