import pandas as pd
df = pd.DataFrame({"Shop_type": [1,2,3,3,2,3,1,2,1],
"Self_managed" : [True,False,False,True,True,False,False,True,False],
"Support_required" : [True,True,True,False,False,False,False,False,True]})
我的目标是了解自我管理的商店和支持所需商店的数量,大致如下所示:
Shop_type Self_count Supprt_count
0 1 1 2
1 2 2 1
2 3 1 1
目前,我使用以下代码来实现这一点,但它看起来很长,不专业。因为我还在学习Python,所以我想提高代码的效率。有什么想法吗?
df1 = df[df["Self_managed"] == True]
df1 = df1.groupby(['Shop_type']).size().reset_index(name='Self_count')
df2 = df[df["Support_required"] == True]
df2 = df2.groupby(['Shop_type']).size().reset_index(name='Supprt_count')
df = df1.merge(df2, how = "outer", on="Shop_type")