1. 数据合并
df1.join(df2) 把行索引相同的数据合并到一起,缺少的填NaN
df1.merge(df3, on='a') 相当于SQL中的连表查询,按a列相同的属性连接 参数how='outer'外连接 left左连接 right右连接
?2. 分组聚合案例:星巴克
统计美国和中国的星巴克数量,显示中国每个省份星巴克数量的情况
链接:https://pan.baidu.com/s/1fFeNmrNf1Ug0CLDS3v80zw 提取码:nlhp
?df.groupby(by="xx") 按照xx列分组,并可以进行聚合函数的计算
import pandas as pd
starbucks_df = pd.read_csv("starbucks_store_worldwide.csv")
starbucks_count = starbucks_df.groupby(by="Country")["Brand"].count()
print(starbucks_count["CN"])
print(starbucks_count["US"])
china_data = starbucks_df.groupby(by=["Country", "State/Province"])["Brand"].count()["CN"]
print(china_data)
3. 索引和复合索引
df.index 获取/指定索引
df.set_index("xx") 指定某一列为索引
4. 案例:图书
统计不同年份书的数量和平均评分情况
链接:https://pan.baidu.com/s/1vn6ofoLvql8w84XfDIN01w 提取码:le60
import pandas as pd
books_df = pd.read_csv("books.csv")
year_count = books_df.groupby(by="original_publication_year")["id"].count()
print(year_count)
average_rating = books_df.groupby(by="original_publication_year")["average_rating"].mean()
print(average_rating)
|