Jon*_*Jon 5 python dataframe pandas data-science
我有一个数据框,需要分组,然后再分组。从子组中,我需要返回子组以及列的唯一值。
df = pandas.DataFrame({'country': pandas.Series(['US', 'Canada', 'US', 'US']),
'gender': pandas.Series(['male', 'female', 'male', 'female']),
'industry': pandas.Series(['real estate', 'shipping', 'telecom', 'real estate']),
'income': pandas.Series([1, 2, 3, 4])})
def subgroup(g):
return g.groupby(['gender'])
s = df.groupby(['country']).apply(subgroup)
Run Code Online (Sandbox Code Playgroud)
从s,如何计算“行业”的唯一性以及将其归为哪个“性别”?
--------------------------------------------
| US | male | [real estate, telecom] |
| |----------------------------------
| | female | [real estate] |
--------------------------------------------
| Canada | female | [shipping] |
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)
您不需要定义该函数,您可以仅使用 groupby() 和 unique() 解决您的问题;
尝试:
df.groupby(['country','gender'])['industry'].unique()
Run Code Online (Sandbox Code Playgroud)
输出:
country gender
Canada female [shipping]
US female [real estate]
male [real estate, telecom]
Name: industry, dtype: object
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |