我是Python和Pandas的新手。我试图将字典转换为数据框。我原来的字典是一个关键,后面是列表长度不均匀。 该词典如下:
{'PlaceA': [(1992, 2015)], 'PlaceB': [(1980, 1984), (1988, 1991)], 'PlaceC': [(1985, 1987)]}
要将此转换为df,我使用
d = pd.DataFrame.from_dict(city_dict, orient='index')
它工作正常并产生如下结果的df:
0 1
PlaceA (1992, 2015) None
PlaceB (1980, 1984) (1988, 1991)
PlaceC (1985, 1987) None
虽然我可以使用
轻松重命名列d.rename(columns={0:'new column name'})
我无法重命名第一列的名称(地名)。我尝试使用
d.rename(columns={'':'place'}, inplace=True)
但它不起作用。 奇怪的是,当我尝试打印标题时,我得到以下输出
print(list(d.columns.values))
[0, 1]
我有什么遗漏的吗?
非常感谢您的评论!
由于
答案 0 :(得分:1)
第一列'不是一个专栏;它是index。您可以使用以下命名来命名:
df.index.name = 'Place Name'
0 1
Place Name
PlaceC (1985, 1987) None
PlaceB (1980, 1984) (1988, 1991)
PlaceA (1992, 2015) None
或者您可以使用以下命令将该索引转换为列:
d = d.reset_index()
d.rename(columns={'index':'Place Name'}
Place Name 0 1
0 PlaceC (1985, 1987) None
1 PlaceB (1980, 1984) (1988, 1991)
2 PlaceA (1992, 2015) None