首页 > 解决方案 > 在包含字符串的 pandas Dataframe 中将字符串“nan”转换为 numpy NaN

问题描述

我正在将文件读入数据框中,我看到我的许多列都包含“nan”字符串。在我使用过的任何合适的地方,

data[['price','age']].apply(pd.to_numeric, errors='coerce')

但是还有其他列包含“字符串”值。

我尝试了以下方法,但没有奏效。

data['address'].replace('nan', '')

如何将包含字符串的列中的“nan”值转换为 NaN 或空字符串或 N/A 。基本上是一些方便我检查值是否存在的值。

编辑:包括最少的可验证代码

import pandas as pd
import numpy as np
dict = {'col-a': ['value-a', 'nan', 'nan'],
        'col-b': ['34', '35', '36'],
        'col-c': ['24', '25', '26']}

df = pd.DataFrame(dict)
print(df,"\n")
df[['col-b','col-c']] = df[['col-b','col-c']].apply(pd.to_numeric, errors='coerce')
# does not work
df.replace('nan','')
# does not work
df.replace('nan',np.nan)
print(df,"\n")

标签: python-3.xpandasdataframe

解决方案


推荐阅读