首页 > 解决方案 > Python Pandas:索引重叠?怎么修

问题描述

我在导入天气数据后创建了一个数据框,现在称为“天气”。

最终目标是能够查看特定月份和年份的数据。

它是这样开始的:在此处输入图像描述

然后我跑来weather = weather.T变换图形,使它看起来像: 在此处输入图像描述

然后我跑来weather.columns=weather.iloc[0]使图表看起来像: 在此处输入图像描述

但是“年”列和“月”列位于索引中(我认为?)。我将如何得到它,它看起来像: 在此处输入图像描述

感谢您的关注!将不胜感激任何帮助:)

请注意,我将删除其中包含年份的第一行。所以不要担心这部分

标签: pythonpandasdataframeindexing

解决方案


这只是意味着你的pd.Index对象底层的pd.DataFrame对象,你不知道,有一个名字:

df = pd.DataFrame({'YEAR': [2016, 2017, 2018],
                   'JAN': [1, 2, 3],
                   'FEB': [4, 5, 6],
                   'MAR': [7, 8, 9]})

df.columns.name = 'month'
df = df.T
df.columns = df.iloc[0]

print(df)

YEAR   2016  2017  2018
month                  
YEAR   2016  2017  2018
JAN       1     2     3
FEB       4     5     6
MAR       7     8     9

如果这真的让您感到困扰,您可以使用reset_index将您的索引提升到一个系列,然后删除额外的标题行。您可以同时删除列名:

df = df.reset_index().drop(0)
df.columns.name = ''

print(df)

  month  2016  2017  2018
1   JAN     1     2     3
2   FEB     4     5     6
3   MAR     7     8     9

推荐阅读