熊猫:Set_index函数不会删除列

我有以下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)

这是错误还是我的代码有误?


喵喔喔
浏览 189回答 1
1回答

慕妹3146593

该参数是列名称的数组,但不是这些系列的列:In [9]: df.set_index(['Start', 'Trader', 'Product'])Out[9]:                                     QuantityStart               Trader Product          2013-01-01 09:00:00 Carl   A               52013-01-01 08:05:00 Mark   A               22013-02-05 14:00:00 Carl   A               52013-02-05 16:00:00 Joe    A              102013-02-08 20:00:00 Joe    B               12013-02-08 16:50:00 Carl   B               52013-02-08 07:00:00 Joe    A               22013-07-04 08:00:00 Carl   A               3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python