Python Pandas,两行作为列标题?

时间:2016-12-06 21:50:56

标签: python-3.x pandas

我已经看过如何使用双索引,但我还没有看到如何使用双行列标题。这可能吗?

例如,第1行是重复的日期系列:2016,2016,2015,2015

第2行是重复的数据系列。美元销售,单位销售,美元销售,单位销售。

因此,每个“Dollar Sales”标题实际上与上面一行中的日期相关联。

后续行是包含数据的单个项目。

有没有办法进行groupby或某种方式我可以有两个列标题?最终,我希望将美元销售按日期排列,以便我可以制作一个漂亮的图表。不幸的是,在下一个“Dollar Sales”值之前有多列。 (不仅仅是一个“单位销售”专栏)。此外,如果我删除上面的日期行,则“Dollar Sales”与每个日期之间没有关联。

1 个答案:

答案 0 :(得分:3)

如果使用pandas.read_csv()pandas.read_table(),则可以提供header参数的索引列表,以指定要用于列标题的行。 Python将在pandas.MultiIndex中为您生成df.columns

df = pandas.read_csv('DollarUnitSales.csv', header=[0,1])

您还可以使用多于两行或非连续的行来指定列标题:

df = pandas.read_table('DataSheet1.csv', header=[0,2,3])

这里是documentation