Python 熊猫群比中的as_指数是多少?
熊猫中的groupby中的Python 熊猫群比中的as_指数是多少?,python,pandas,Python,Pandas,熊猫中的groupby中的as\u index的功能到底是什么?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
as\u index
的功能到底是什么?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']
,由于索引列的散列,过滤速度会更快。它不必遍历整个图书
列来查找'bk1'
。它将只计算'bk1'
的散列值,并在一次遍历中找到它as_index=True
时,您可以使用此语法df.loc['bk1']
比df.loc[df.books=='bk1']
更短更快使用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
请注意,当我们更改为_index=False时,颜色不再是索引,非常感谢。“我对打印一窍不通,”哈里莎说,“这是编程的一般规则<代码>打印所有引起怀疑的内容。在编程的早期,
print
语句被插入到程序的任何地方以调试erros。如果你认为我已经回答了你的问题,那么你可以通过点击复选标记来接受它。✔' 答案左侧两个三角形下方。除了易于选择之外,df.loc['bk1']
也比布尔索引快。@ayhan-yes。索引时,它不必遍历整个books列来查找'bk1'
。它将只计算'bk1'的散列值,并在1次遍历中找到它。谢谢你提出这一点。
colors price quantity
0 orange 2 2
1 red 2 2