[英]How to fill NaN only in numeric variables if that variable in on list in Python Pandas?
我有如下所示的 Pandas DataFrame:
数据类型:
表格1
COL1 | COL2 | COL3
-----|------|------
123 | AAA | 99
NaN | ABC | 1
111 | NaN | NaN
... | ... | ...
我还有这样的变量列表: my_list = ["COL1", "COL8", "COL15"]
在以下情况下,我需要用 0 填充 NaN:
所以,我需要类似下面的输出,因为只有 COL1 满足上述所有要求:
COL1 | COL2 | COL3 | COL4
-----|------|------|-------
123 | AAA | 99 | XC
0 | ABC | 1 | XB
111 | NaN | NaN | XA
... | ... | ... | ...
我怎样才能在 Python Pandas 中做到这一点?
您可以结合使用Index.intersection
和select_dtypes
来选择要fillna
的列,然后update
:
df.update(df[df.columns.intersection(my_list)].select_dtypes('number').fillna(0))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.