我有以下DataFrame:df = pd.DataFrame({'Trader': 'Carl Mark Carl Joe Joe Carl Joe Carl'.split(),'Product': list('AAAABBAA'),'Quantity': [5,2,5,10,1,5,2,3],'Start' : [ DT.datetime(2013,1,1,9,0), DT.datetime(2013,1,1,8,5), DT.datetime(2013,2,5,14,0), DT.datetime(2013,2,5,16,0), DT.datetime(2013,2,8,20,0), DT.datetime(2013,2,8,16,50), DT.datetime(2013,2,8,7,0), DT.datetime(2013,7,4,8,0)]})当我尝试通过以下方式放置索引时:df = df.set_index([df.Start, df.Trader, df.Product])它不会删除用于索引的列。即使当我使用以下命令明确指定它时:df = df.set_index([df.Start, df.Trader, df.Product], drop=True)这是错误还是我的代码有误?
1 回答

慕妹3146593
TA贡献1820条经验 获得超9个赞
该参数是列名称的数组,但不是这些系列的列:
In [9]: df.set_index(['Start', 'Trader', 'Product'])
Out[9]:
Quantity
Start Trader Product
2013-01-01 09:00:00 Carl A 5
2013-01-01 08:05:00 Mark A 2
2013-02-05 14:00:00 Carl A 5
2013-02-05 16:00:00 Joe A 10
2013-02-08 20:00:00 Joe B 1
2013-02-08 16:50:00 Carl B 5
2013-02-08 07:00:00 Joe A 2
2013-07-04 08:00:00 Carl A 3
添加回答
举报
0/150
提交
取消