假设我们有一个包含以下信息的数据框:
Name Type ID
0 Book1 ebook 1
1 Book2 paper 2
2 Book3 paper 3
3 Book1 ebook 1
4 Book2 paper 2
如果我们这样做
df.groupby(["Name", "Type"]).sum()
我们得到一个DataFrame
:
ID
Name Type
Book1 ebook 2
Book2 paper 4
Book3 paper 3
这个MultiIndex包含了在groupby中使用的列:
MultiIndex([('Book1', 'ebook'),
('Book2', 'paper'),
('Book3', 'paper')],
names=['Name', 'Type'])
有一列称为ID
。
但是,如果我应用size()
函数,结果将是一个Series
:
Name Type
Book1 ebook 2
Book2 paper 2
Book3 paper 1
dtype: int64
最后,如果我执行
pct_change()
,我们只会得到结果DataFrame的一列: ID
0 NaN
1 NaN
2 NaN
3 0.0
4 0.0
TL;DR。我想知道为什么有些函数返回一个Series
,而其他一些函数返回一个DataFrame
,因为这让我在处理同一个DataFrame中的不同操作时感到困惑。