2022.04.07

课时38数据合并

 

 

 

 

 

 

 on表示按照什么进行合并。

上图就表示在a这个列进行操作。但是df1与df3的a完全不一样,所以不能操作。

因为在默认情况下,merge取的是并集(?)。

查了一下,默认应该是“inner”,inner代表取的是交集。

想要取“并集”,应该设置为“outer”。

课件给出的知识是错的。

 因为在df1里面,“a”这一列里面,A,B两行的值都为1(即使一个是int,一个是float类型也无所谓),所以在合并的结果里,df1的A行,B行和df3的0行进行了合并。

而如果只有一个值相同,如下图。

那么只会在有相同的数值的那一行进行合并。 

另外,通过对how参数进行设置,可以成为并集。

并集会把没有的值设置为nan。

此外,还有“左连接”和“右连接”。

也就是以“左边或右边为准”。 

 

课时39数据分组和聚合

 

 

import pandas as pd
import numpy as np

file_path=""
df=pd.read_csv(file_path)

grouped=df.groupby(by="country")#通过国家名字进行分组


#DataFrameGrouBy
#可以进行遍历

#调用聚合方法

country_count=grouped["Brand"].count()
print(country_count["US"])
print(country_count["CN"])

课时40

统计中国每个省份的星巴克数量。

import pandas as pd
import numpy as np

file_path=""
df=pd.read_csv(file_path)

#grouped=df.groupby(by="country")#通过国家名字进行分组


#DataFrameGrouBy
#可以进行遍历
#调用聚合方法

#country_count=grouped["Brand"].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)

 

 

 

 

#数据按照多个条件进行分组
df["Brand"].groupby(by=[df["Country"],df["State/Province"]])

#数据按照多个条件进行分组,返回DataFrame
grouped1=df["Brand"].groupby(by=[df["Country"],df["State/Province"]]).count()
grouped2=df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count()
grouped3=df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值