目录
导入
现在我们有一组关于全球星巴克店铺的统计数据,如果我想知道美国的星巴克数量和中国的哪个多,或者我想知道中国每个省份星巴克的数量的情况,那么应该怎么办?
思路:遍历一遍,每次加1 ???
import pandas as pd
import numpy as np
file_path = "./starbucks_store_worldwide.csv"
df = pd.read_csv(file_path)
# print(df.head(1))
# print(df.info())
grouped = df.groupby(by="Country")
print(grouped)
# #DataFrameGroupBy
# #可以进行遍历
for i,j in grouped:
print(i)
数据来源:https://www.kaggle.com/starbucks/store-locations/data
在pandas中类似的分组的操作我们有很简单的方式来完成
df.groupby(by="columns_name")
import pandas as pd
import numpy as np
file_path = "./starbucks_store_worldwide.csv"
df = pd.read_csv(file_path)
grouped = df.groupby(by="Country")
print(grouped)
country_count = grouped["Brand"].count()
print(country_count)
print(country_count["US"])
print(country_count["CN"])
#统计中国每个省店铺的数量
china_data = df[df["Country"] =="CN"]
grouped = china_data.groupby(by="State/Province").count()["Brand"]
print(grouped)
那问题来了,调用groupby方法之后返回的是什么内容?
分组和聚合
grouped = df.groupby(by="columns_name")
grouped是一个DataFrameGroupBy对象,