关于python:重命名没有列名的pandas数据帧的列

Renaming columns of a pandas dataframe without column names

本问题已经有最佳答案,请猛点这里访问。

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

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

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

生成不带列标题的数据帧。

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

这不会产生任何错误:类型错误:"set"对象不可调用。

有人有线索吗?


如果您希望索引作为听写中的键,则不需要重命名它。

1
2
3
4
5
df = pd.DataFrame.from_dict(dicts, orient = 'index') #index is name

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

df.index.name = 'name'

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

1
2
3
4
5
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
2
3
4
data = (  
  pd.DataFrame.from_dict(my_dict,orient='index')
  .rename(columns=dict(zip(df.columns,['name','number'])))
)