python - 根据规则操作列中的值

标签 python pandas

我在 Pandas 数据框中有 3 列 -A、B 和 C。我想要做的是,如果 A 不为 null 且 B|C 不为 null,则 A 中的该行应设置为 null.

if(dffinal['A'].loc[dffinal['A'].notnull()] & 
    (dffinal['B'].loc[dffinal['B'].notnull()] | 
    dffinal['C'].loc[dffinal['C'].notnull()])):
    dffinal['A'] = np.nan

这是我遇到的错误:不能从空轴上进行非空取。

最佳答案

使用df.loc[] :

df.loc[df.A.notna() & (df.B.notna()|df.C.notna()),'A']=np.nan

关于python - 根据规则操作列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56303518/

相关文章:

python - 获取多列并将它们放入与 Pandas 相同的索引中

python - 在合并期间仅向第一个组合添加值

Python Pandas 使用换行符拆分从文件创建数据框?

python - Python 函数名称中允许使用的字符

python - 根据元组中的值从列表中删除重复的元组

python - Python中对数计算的底数会影响速度吗?

python - 如何通过引用其他两列在 Python Dataframe 中创建新列?

Pandas - 删除所有连续的行,除了第一行共享相同的列值

python - statsmodels 安装失败,出现 ValueError

python - Django ORM基于多对多字段获取对象