熊猫as_index
中groupby
的确切功能是什么?
最佳答案
当您不懂某事时,print()
是您的朋友。它消除了很多次怀疑。
看一看:
import pandas as pd
df = pd.DataFrame(data={'books':['bk1','bk1','bk1','bk2','bk2','bk3'], 'price': [12,12,12,15,15,17]})
print(df)
print(df.groupby('books', as_index=True).sum())
print(df.groupby('books', as_index=False).sum())
输出:
books price
0 bk1 12
1 bk1 12
2 bk1 12
3 bk2 15
4 bk2 15
5 bk3 17
price
books
bk1 36
bk2 30
bk3 17
books price
0 bk1 36
1 bk2 30
2 bk3 17
当
as_index=True
您在groupby()
中使用的键将成为新数据框中的索引。将列设置为索引时,将获得以下好处:
速度。当您基于索引列过滤值时,例如
df.loc['bk1']
,因为索引列的散列会更快。不必遍历整个books
列即可找到'bk1'
。它将只计算'bk1'
的哈希值,并在1 go中找到它。缓解。当使用
as_index=True
时,可以使用较短且较快的语法df.loc['bk1']
,而不是较长且较慢的df.loc[df.books=='bk1']
。关于python - Pandas 在groupby中的as_index是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58598447/