使用 NaN 标头重命名熊猫数据帧



我目前使用数据帧,我正在堆叠它们以实现特定的格式。我有一个问题,我正在尝试更改标题的名称,但它不起作用(通过使用.. .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

我认为您需要按dictIndex.fillnarename

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)

我的解决方法是先将列标签转换为strdf.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'})

文档链接:熊猫。数据帧.重命名

最新更新