Python将数据帧转换为系列。显示重复的列名
我有一个excel文件,作为数据框导入,但当我尝试将数据框转换为系列时。奇怪的事情发生了。“Sales”是列名,但现在它像这样并排出现Python将数据帧转换为系列。显示重复的列名,python,pandas,time-series,Python,Pandas,Time Series,我有一个excel文件,作为数据框导入,但当我尝试将数据框转换为系列时。奇怪的事情发生了。“Sales”是列名,但现在它像这样并排出现 Date 2015-01-01 Sales 14840.0 2015-02-01 Sales 14820.0 2015-03-01 Sales 17920.0 2015-04-01 Sales 19020.0 2015-05-01 Sales 20600.0 2015-06-01 Sales
Date
2015-01-01 Sales 14840.0
2015-02-01 Sales 14820.0
2015-03-01 Sales 17920.0
2015-04-01 Sales 19020.0
2015-05-01 Sales 20600.0
2015-06-01 Sales 13940.0
2015-07-01 Sales 14000.0
2015-08-01 Sales 15860.0
2015-09-01 Sales 17220.0
2015-10-01 Sales 20640.0
2015-11-01 Sales 31040.0
2015-12-01 Sales 30260.0
2016-01-01 Sales 17000.0
2016-02-01 Sales 18760.0
2016-03-01 Sales 22220.0
2016-04-01 Sales 17960.0
2016-05-01 Sales 18640.0
2016-06-01 Sales 21100.0
2016-07-01 Sales 22180.0
2016-08-01 Sales 25700.0
2016-09-01 Sales 26606.0
2016-10-01 Sales 21980.0
2016-11-01 Sales 48160.0
数据帧如下所示:
Date Sales
0 2015-01-01 14840.0
1 2015-02-01 14820.0
2 2015-03-01 17920.0
3 2015-04-01 19020.0
4 2015-05-01 20600.0
我使用的代码是:
df = pd.read_excel('sales.xlsx', index_col=[0], squeeze = True)
df = df.stack()
是否您的xlsx文件没有索引列?因此,您的问题可以通过从代码中删除
index\u col=[0]
来解决
df = pd.read_excel('sales.xlsx', squeeze = True)
df = df.stack()
Out:
df =
0 Date 2015-01-01 00:00:00
Sales 14840
1 Date 2015-02-01 00:00:00
Sales 14820
2 Date 2015-03-01 00:00:00
Sales 17920
3 Date 2015-04-01 00:00:00
Sales 19020
4 Date 2015-05-01 00:00:00
Sales 20600
df.set_index('Data')['Sales']
有效吗?@CainãMaxCouto Silva不有效。您通常如何将数据帧转换为系列?@PiCubed您认为它不工作是什么意思?根据您的示例数据df。set_index('data')['Sales']
是正确答案。例如,如果您执行type(df.set_index('Date')['Sales'])
操作,您将得到pandas.core.series.series
我的代码中存在错误键入。为日期替换数据。这应该是有效的。此外,您需要在不使用index\u col=[0]
的情况下读取文件,或者只需键入df['Sales']
而不是df.set\u index('Data')['Sales']
。