Pandas:Set_index函数不删除列

2024-05-26 22:56:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

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)]})

当我试图将索引通过:

^{pr2}$

它不会删除用于索引的列。即使我明确指定它使用:

df = df.set_index([df.Start, df.Trader, df.Product], drop=True)

这是一个bug还是我的代码有错误?在

谢谢

安迪


Tags: 数据dataframedfdatetimedtproductstartlist
1条回答
网友
1楼 · 发布于 2024-05-26 22:56:24

参数是一个列名数组,但不是这些序列:

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

相关问题 更多 >

    热门问题