为什么我无法在数据框中添加列名?

时间:2017-01-01 20:15:26

标签: python python-2.7 pandas dataframe

我的目标

我想添加/替换列名,同时还删除数据框末尾的Name, dtype

数据框

>>> df

0  Cheese
1  Bread
2  Ham
3  Egg
Name: Column1, dtype: object

我的尝试

我尝试过以下操作:

df.columns = ['Cart']

但是在输出df时,它看起来与之前完全相同。

预期输出

   Cart
0  Cheese
1  Bread
2  Ham
3  Egg

2 个答案:

答案 0 :(得分:3)

dfSeries,而不是DataFrame

使用Series.to_frame

df.to_frame('Cart')

或者:

df.rename('Cart').to_frame()
df = pd.Series(['Cheese','Bread','Ham','Egg'], name='Column1')
print (df)
0    Cheese
1     Bread
2       Ham
3       Egg
Name: Column1, dtype: object

print (type(df))
<class 'pandas.core.series.Series'>

print (df.to_frame('Cart'))
     Cart
0  Cheese
1   Bread
2     Ham
3     Egg

答案 1 :(得分:2)

@ jezrael的回答是你的答案。我只想添加备选方案

dfpd.Series

的情况下,从头开始构建
pd.DataFrame(dict(Cart=df))