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' 的哈希值,并一次性找到它。 舒适。 当 as_index=True 您可以使用此语法 df.loc['bk1'] 与 --- df.loc[df.books=='bk1'] --- 相比,它更短更快。 原文由 Mohammad Yusuf 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 group by 函数时,as_index 可以设置为 true 或 false,具体取决于您是否希望分组依据的列作为输出的索引。 import pandas as pd table_r = pd.DataFrame({ 'colors': ['orange', 'red', 'orange', 'red'], 'price': [1000, 2000, 3000, 4000], 'quantity': [500, 3000, 3000, 4000], new_group = table_r.groupby('colors',as_index=True).count().sort('price', ascending=False) print(new_group) price quantity colors orange 2 2 red 2 2 现在 as_index=False colors price quantity 0 orange 2 2 1 red 2 2