Python 处理对象类型列的空白值
我正在处理excel数据。我的数据框df中有几个列是对象类型,并且有空值。我想写一个代码,可以取代所有的空白值在任何一列的DF与“NA”。我如何使用熊猫来实现这一点?这也可以使用applymap完成吗 以下是列类型:Python 处理对象类型列的空白值,python,pandas,Python,Pandas,我正在处理excel数据。我的数据框df中有几个列是对象类型,并且有空值。我想写一个代码,可以取代所有的空白值在任何一列的DF与“NA”。我如何使用熊猫来实现这一点?这也可以使用applymap完成吗 以下是列类型: id object name object year_founded float64 city obje
id object
name object
year_founded float64
city object
country object
type object
dtype: object
样本数据:
df = pd.DataFrame({'id': ['apple_inc'],'name':['Apple Inc'],'year_founded':[],'city'
:[],'country':['US'],'type':[]})
有两个地方可以处理
na
值
一种是在加载文件时,提供处理na
值的参数,例如na\u值
pd.read_excel(file, na_values=['', ' '])
另一个是Pandas提供了一些函数来处理na
值,例如replace
,fillna
等
df.replace('', np.nan)
您需要注意的另一件事是您的空白值是什么,它们可能是“”,或“”,或“\t”等等。如果您不确定,或者存在不同类型的空白值,可以尝试常规方法:
df.replace('^[\s]*$', np.nan, regex=True)
谢谢。IIUC您只需执行以下操作:
In [217]: df
Out[217]:
city country id name type year_founded
0 US apple_inc Apple Inc
In [218]: df = df.replace('', 'NA')
In [219]: df
Out[219]:
city country id name type year_founded
0 NA US apple_inc Apple Inc NA NA
df.replace(“”,'NA')
或者您可以在读取Excel文件时尝试此操作:df=pd.read\u Excel(文件名,NA\u值=['')
我希望它这么简单。它不起作用。你能提供一个可复制的样本数据集吗?@MaxU更新了这个问题我只是好奇你的样本数据,为什么每列的值是一个列表,而不是一个标量?如何在excel中存储数据?