Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 处理对象类型列的空白值_Python_Pandas - Fatal编程技术网

Python 处理对象类型列的空白值

Python 处理对象类型列的空白值,python,pandas,Python,Pandas,我正在处理excel数据。我的数据框df中有几个列是对象类型,并且有空值。我想写一个代码,可以取代所有的空白值在任何一列的DF与“NA”。我如何使用熊猫来实现这一点?这也可以使用applymap完成吗 以下是列类型: id object name object year_founded float64 city obje

我正在处理excel数据。我的数据框df中有几个列是对象类型,并且有空值。我想写一个代码,可以取代所有的空白值在任何一列的DF与“NA”。我如何使用熊猫来实现这一点?这也可以使用applymap完成吗

以下是列类型:

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中存储数据?