Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 替换数据帧索引中的NaN_Pandas_Replace_Label_Dataframe_Nan - Fatal编程技术网

Pandas 替换数据帧索引中的NaN

Pandas 替换数据帧索引中的NaN,pandas,replace,label,dataframe,nan,Pandas,Replace,Label,Dataframe,Nan,我有一个数据框,看起来像这样: one | two a | 2 | 5 b | 3 | 6 NaN | 0 | 0 如何用字符串替换索引中的NaN,比如说“无标签” 我试过: df = df.replace(np.NaN, "No label") 及 但是得到 TypeError: expected string or buffer 您可以先将原始索引作为一个系列进行处理,然后重新分配索引: import pandas as pd import n

我有一个数据框,看起来像这样:

      one | two 
a   |  2  |  5
b   |  3  |  6
NaN |  0  |  0
如何用字符串替换索引中的NaN,比如说“无标签”

我试过:

df = df.replace(np.NaN, "No label") 

但是得到

TypeError: expected string or buffer

您可以先将原始索引作为一个系列进行处理,然后重新分配索引:

import pandas as pd
import numpy as np
df = pd.DataFrame({'one': [2, 3, 0], 'two': [5, 6, 0]}, index=['a', 'b', np.nan])
df.index = pd.Series(df.index).replace(np.nan, 'No label')
print df
输出:

          one  two
a           2    5
b           3    6
No label    0    0
使用:


如果任何人也需要处理多索引案例:

如果存在(df.index,pd.MultiIndex):
df.index=pd.MultiIndex.from_帧(
df.index.to_frame().fillna(“无标签”)
)
其他:
df.index=df.index.fillna(“无标签”)

dohh!这是我应该考虑的。这正是我想要的。谢谢有一种
to_series
方法可以将
索引
转换为
series
df.Index=df.Index.to_series()
          one  two
a           2    5
b           3    6
No label    0    0
df.index = df.index.fillna('No label')
print (df)
          one  two
a           2    5
b           3    6
No label    0    0