数据的合并和分组聚合

01字符串离散化:

02数据合并:

join:默认情况下他是把行索引相同的数据合并到一起

 

 merge:按照指定的列把数据按照一定的方式合并到一起

默认的合并方式inner交集

merge outer并集,NaN补全

merge left左边为准,NaN补全

merge right右边为准,NaN补全 

03数据分组和聚合:

grouped = df.groupby(by="columns_name")

grouped是一个DataFrameGroupBy对象,是可迭代的

grouped中的每一个元素是一个元组

元组里面是(索引(分组的值),分组之后的DataFrame

 

DataFrameGroupBy对象有很多经过优化的方法

如果我们需要对国家和省份进行分组统计?

grouped = df.groupby(by=[df["Country"],df["State/Province"]])

很多时候我们只希望对获取分组之后的某一部分数据,或者说我们只希望对某几列数据进行分组,这个时候我们应该怎么办呢?

获取分组之后的某一部分数据:

 df.groupby(by=["Country","State/Province"])["Country"].count()

对某几列数据进行分组:

 df["Country"].groupby(by=[df["Country"],df["State/Province"]]).count()

t1 = df[["Country"]].groupby(by=[df["Country"],df["State/Province"]]).count()
t2 =
df.groupby(by=["Country","State/Province"])[["Country"]].count()

以上的两条命令结果一样

和之前的结果的区别在于当前返回的是一个DataFrame类型(多加一个[])

03数据索引:

简单的索引操作:

获取 index df.index
指定 index df.index = [' x','y ']
重新设置 index : df.reindex (list(" abcedf "))
指定某一列作为 index df.set_index (" Country",drop =False)
返回 index 的唯一值: df.set_index ("Country"). index.unique ()

假设a为一个DataFrame,那么当a.set_index(["c","d"])即设置两个索引的时候是什么样子的结果呢?

a = pd.DataFrame({'a': range(7),'b': range(7, 0, -1),'c': ['one','one','one','two','two','two', 'two'],'d': list("hjklmno")})

 我只想取索引h对应值怎么办?

 那么:DataFrame是怎样取值呢?

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值