print各种可能性
import pandas as pd
df = pd.DataFrame(data = {'book':['bk1','bk1','bk2','bk2','bk3'],
'price':['12','12','5','5','45']})
print(df)
print(df.groupby('book',as_index = True).sum())
print(df.groupby('book',as_index = False).sum())
output:
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()
中,key中的属性会作为新的index在dataframe中。
把column设置成index的好处有:
- 速度快,当使用基于index的查找方式时,eg.
df.loc['bk1]
,这样不需要去遍历整个book
列去查找’bk1‘
,而是计算’bk1‘
的哈希值,然后快速定位。 - 较容易 当
as_index=True
,可以使用df.loc['bk1']
而不是df.loc[df.books=='bk1']
.前者的代码更短且速度更快