gpt4 book ai didi

python - Pandas:Set_index 函数不删除列

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:01 25 4
gpt4 key购买 nike

我有以下数据框:

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)

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

谢谢

安迪

最佳答案

参数是一个列名数组,但不是那些系列:

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

关于python - Pandas:Set_index 函数不删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com