我目前使用数据帧,我正在堆叠它们以实现特定的格式。我有一个问题,我正在尝试更改标题的名称,但它不起作用(通过使用.. .rename(columns={'NaN'='type',inplace=True(,同样的事情,我试图将列的名称"6"更改为另一个具有与提到的相同原则。
这里:
NaN Quantity
6
01/06 KULUTUS - CONSUMPTION 8976.27
01/06 TEOLLISUUSKULUTUS - INDUSTRIAL CONSUMPTION 4121.36
01/06 MUU KULUTUS - OTHER CONSUMPTION 4854.91
我认为您需要按dict
或Index.fillna
rename
:
df = df.rename(columns={np.nan: 'type'})
df.columns = df.columns.fillna('type')
样本:
df = pd.DataFrame([[1,4]], columns=[np.nan, 'a'])
print (df)
NaN a
0 1 4
print (df.columns.tolist())
[nan, 'a']
df1 = df.rename(columns={np.nan: 'type'})
print (df1)
type a
0 1 4
df.columns = df.columns.fillna('type')
print (df)
type a
0 1 4
当nan
在标签中时,直接应用.rename
仍然无法在熊猫版本中0.24.2
工作,对我来说似乎是一个错误。注意:此标签首先是由另一种熊猫方法创建的:pd.get_dummies(s,dummy_na=True)
。
我的解决方法是先将列标签转换为str
:df.rename(columns=str).rename(columns={'nan':'new_lbl'})
使用索引中具有nan
值的熊猫版本0.25.3
,调用df.rename(index={np.nan: 'new_label'})
对我也不起作用。
按照 tozCSS 的建议,将所有索引标签重命名为字符串(尽管除了那个标签之外的所有其他标签都是......(,然后重命名对我有用:
df.rename(index=str).rename(columns={'nan':'new_lbl'})
文档链接:熊猫。数据帧.重命名