重命名不带列名的pandas数据帧的列

时间:2017-07-14 03:33:49

标签: python pandas

我试图在dataframe.from_dict操作之后命名我的新数据帧的列。

只需使用pandas.dataframe.from_dict函数:

df = pd.DataFrame.from_dict(my_dict,orient='index')

生成没有列标题的数据框。

data=pd.DataFrame.from_dict(my_dict,orient='index).rename(columns = {'name','number'}) 

这不会产生任何错误:TypeError:' set'对象不可调用。

有人有线索吗?

2 个答案:

答案 0 :(得分:1)

如果您希望索引作为词典中的键,则无需重命名。

df = pd.DataFrame.from_dict(dicts, orient = 'index') #index is name

df.columns = (['number']) #non-index column is number

df.index.name = 'name'

或者不是更改索引名称,而是可以创建一个新列:

df = df.reset_index() #named column becomes index, index becomes ordered sequence

df['name'] = df['index'] #new column with names

del df['index'] #delete old column

答案 1 :(得分:0)

您可以通过隐式引用列名称然后设置新名称来执行此类操作。

data = (  
  pd.DataFrame.from_dict(my_dict,orient='index')
  .rename(columns=dict(zip(df.columns,['name','number'])))
)