在 Python 中,为什么带或不带方括号的子集是不同的?

数据挖掘 Python 数据集
2022-02-15 16:40:24

假设我有一个名为 quoteDF 的数据框

quotesDF

              volume  shares
2017-01-03   2934300     100
2017-01-04   3381400     120
2017-01-05   2682300     140  
2017-01-06   2945500     160
2017-01-09   3189900     180
2017-01-10   4118700     200

如果我做,

> quotesDF.loc[1, 'shares']
120
> quotesDF.loc[1, ['shares']]
shares 120
Name: 1, dtype: object

为什么第一个返还120,第二个返还120股?在我看来,它们是一样的,除了我把第二个放在向量中。但是,第一个是一个独立的向量。只是我没有把方括号放在上面。

为什么 Python 给了我如此混乱的时间?

1个回答

假设您有一个pandas数据框,.loc它是严格基于标签的。由于您正在使用[]它访问您在括号内指定的列,这就是您获得shares 120. 阅读文档以获得更好的解释。

这是另一个链接,其答案与您的问题相似。