as_index
在 groupby
在熊猫中的功能到底是什么?
原文由 Haritha 发布,翻译遵循 CC BY-SA 4.0 许可协议
as_index
在 groupby
在熊猫中的功能到底是什么?
原文由 Haritha 发布,翻译遵循 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
请注意,当我们更改 as_index=False 时,颜色不再是索引
原文由 Marc vT 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答3.2k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
3 回答1.8k 阅读
1 回答1.5k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
print()
是你什么都不懂的朋友。多次解疑。看一看:
输出:
当
as_index=True
您在groupby()
中使用的键将成为新数据帧中的索引。将列设置为索引时获得的好处是:
速度。 当您根据索引列过滤值时,例如。
df.loc['bk1']
,由于索引列的散列,它会更快。它不必遍历整个books
列来查找'bk1'
。它只会计算'bk1'
的哈希值,并一次性找到它。舒适。 当
as_index=True
您可以使用此语法df.loc['bk1']
与 ---df.loc[df.books=='bk1']
--- 相比,它更短更快。