我目前使用的是数据帧,我正在堆叠它们以实现特定的格式。我有一个问题,我正在尝试更改标题的名称,但它不起作用(通过使用.. .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
答案 0 :(得分:6)
我认为您需要rename
或Index.fillna
{/ 1>} dict
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
答案 1 :(得分:0)
当标签中有.rename
时,直接应用0.24.2
仍然不能在熊猫版本nan
中使用,对我来说似乎是个错误。注意:此标签首先由另一个pandas方法创建:pd.get_dummies(s,dummy_na=True)
。
我的解决方法是先将列标签转换为str
:
df.rename(columns=str).rename(columns={'nan':'new_lbl'})
答案 2 :(得分:0)
使用索引值为0.25.3
的熊猫版本nan
,调用df.rename(index={np.nan: 'new_label'})
对我也不起作用。
按照tozCSS的建议,将所有索引标签重命名为字符串(尽管除了那个以外的所有其他标签都是...),然后重命名对我有用:
df.rename(index=str).rename(columns={'nan':'new_lbl'})