Pandas GroupBy 使用教程

简介: Pandas GroupBy 使用教程

实例 1 将分组后的字符拼接



import pandas as pd
df=pd.DataFrame({
    'user_id':[1,2,1,3,3],
    'content_id':[1,1,2,2,2],
    'tag':['cool','nice','clever','clever','not-bad']
})
df


75.png


将df按content_id分组,然后将每组的tag用逗号拼接


df.groupby('content_id')['tag'].apply(lambda x:','.join(x)).to_frame()


76.png


实例2 统计每个content_id有多少个不同的用户



import pandas as pd
df = pd.DataFrame({
    'user_id':[1,2,1,3,3,],
    'content_id':[1,1,2,2,2],
    'tag':['cool','nice','clever','clever','not-bad']
})
df.groupby("content_id")["user_id"].nunique().to_frame()


77.png


实例3 分组结果排序



import pandas as pd
df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df


78.png


df1 = df.groupby('product')['value'].sum().to_frame().reset_index()
df1


按产品product分组后,然后value求和:


79.png


df2 = df.groupby('product')['value'].sum().to_frame().reset_index().sort_values(by='value')
df2


80.png


实例4 分组大小绘图



import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df


81.png


plt.clf()
df.groupby('product').size().plot(kind='bar')
plt.show()


82.png


实例5 分组求和绘图



import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df


83.png


plt.clf()
df.groupby('product').sum().plot(kind='bar')
plt.show()


84.png


实例 6 使用agg函数



import pandas as pd
df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
grouped_df = df.groupby('product').agg({'value':['min','max','mean']})
grouped_df


85.png


grouped_df.columns = ['_'.join(col).strip() for col in grouped_df.columns.values]
grouped_df = grouped_df.reset_index()
grouped_df


86.png


实例7 遍历分组



for key,group_df in df.groupby('product'):
    print("the group for product '{}' has {} rows".format(key,len(group_df)))


the group for product 'chair' has 2 rows
the group for product 'mobile phone' has 2 rows
the group for product 'table' has 3 rows


源代码:Python008-Pandas GroupBy 使用教程.ipynb


相关文章
|
6天前
|
数据挖掘 Python
pandas中的groupby函数应用
pandas中的groupby函数应用
pandas中的groupby函数应用
|
5天前
|
数据挖掘 数据处理 Python
Pandas中groupby后的数据排序技巧
Pandas中groupby后的数据排序技巧
11 0
|
2月前
|
SQL 数据挖掘 数据处理
不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...
不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...
|
2月前
|
存储 JSON 数据格式
Pandas 使用教程 CSV - CSV 转 JSON
Pandas 使用教程 CSV - CSV 转 JSON
25 0
|
2月前
|
JSON 数据格式 Python
Pandas 使用教程 JSON
Pandas 使用教程 JSON
27 0
|
2月前
|
SQL 数据采集 JSON
Pandas 使用教程 Series、DataFrame
Pandas 使用教程 Series、DataFrame
38 0
|
4月前
|
数据采集 存储 数据可视化
Pandas高级教程:数据清洗、转换与分析
Pandas是Python的数据分析库,提供Series和DataFrame数据结构及数据分析工具,便于数据清洗、转换和分析。本教程涵盖Pandas在数据清洗(如缺失值、重复值和异常值处理)、转换(数据类型转换和重塑)和分析(如描述性统计、分组聚合和可视化)的应用。通过学习Pandas,用户能更高效地处理和理解数据,为数据分析任务打下基础。
333 3
|
4月前
|
Python
pandas中groupby和shift结合实现相邻行的计算
pandas中groupby和shift结合实现相邻行的计算
49 0
|
5月前
|
索引 Python
Pandas 2.2 中文官方教程和指南(一)(4)
Pandas 2.2 中文官方教程和指南(一)
48 0
|
5月前
|
存储 SQL JSON
Pandas 2.2 中文官方教程和指南(一)(3)
Pandas 2.2 中文官方教程和指南(一)
68 0
下一篇
无影云桌面