Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
Pandas 无法在表格中填写空白值_Pandas_Fillna - Fatal编程技术网

Pandas 无法在表格中填写空白值

Pandas 无法在表格中填写空白值,pandas,fillna,Pandas,Fillna,我有一个数据帧 Gender 0女性 1名女性 2 3名女性 4名女性 带有带有一些na值的性别列,性别之间的分割为: Male 5453 Female 4543 Name: Gender, dtype: int64 当尝试使用vale male填充缺失的值时,因为这是最常见的,请使用以下代码: data['Gender'] = data['Gender'].fillna(data['Gender'].value_counts().idxmax) 我似乎得到了同样的价值观:

我有一个数据帧

Gender
0女性
1名女性
2
3名女性
4名女性

带有带有一些na值的性别列,性别之间的分割为:

Male      5453
Female    4543
Name: Gender, dtype: int64
当尝试使用vale male填充缺失的值时,因为这是最常见的,请使用以下代码:

data['Gender'] = data['Gender'].fillna(data['Gender'].value_counts().idxmax)
我似乎得到了同样的价值观:

data['Gender'].value_counts()

Male                                                                                          5453
Female                                                                                        4543
<bound method Series.idxmax of Male      5453\nFemale    4543\nName: Gender, dtype: int64>       4
Name: Gender, dtype: int64
结果是错误的

然后,当我尝试将数据类型更改为类别时:

data['Gender'] = data['Gender'].astype('category')
我得到这个错误:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

正如Tserenjamts已经说过的,发生这种情况的最可能原因是您要填充的值不是NaN,而是一个空字符串。此外,代码中还有一个错误,因此代码不会用最频繁的值填充NaN,而是填充idmax对象

请尝试以下操作以修复错误:

data['Gender'].replace('',np.NaN).fillna(data['Gender'].value_counts().idxmax())

也许这不是Nan而是空字符串如何工作
data['Gender']=data['Gender'].fillna(data['Gender'].value_counts().idxmax())
-在
idxmax
之后添加了
()
data['Gender'].replace('',np.NaN).fillna(data['Gender'].value_counts().idxmax())