数据科学库第五节

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

df1.join(df2)  行索引以df1为准,df2填充进来,没有的数NaN填充

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

df1.merge(df3,on="",how="")  内连接 inner(交集,and操作) 外连接outer(并集,or操作,NaN补全)  左连接left(左边为准NaN补全) 右连接right(右边为准NaN补全)

pandas 分组和聚合功能

 grouped=df.groupby   grouped是一个DataFrameGroupBy对象,是可迭代的,grouped中的每一个元素是一个元组,元组里面是(索引(分组的值),分组之后的FataFrame)

按一列分组:df.groupby(column)  df.groupby(by="column")

按多列分组:df.groupby([column1, column2])

索引和复合索引

简单的索引操作:获取index: df.index  指定index: df.index = ['x','y']

重新设置index: df.reindex(list("abcedf"))

指定某一列作为index: df.set_index("County",drop=False)

返回index的唯一值:df.set_index("Country").index.unique()

总结:

把字符串离散化:1、获取字符串的去重后列表 2、构造全为0的数组,columns为字符串的列表

3、给全为零的数组赋值,遍历

join 按照index来分组 t1.join(t2)

merge 按照列数据来分组 t1.merge(t2.on="a",how='inner') 内连接  

t1.merge(t2.on="a",how='outer') 并集

t1.merge(t2.on="a",how='left')  以t1为准

t1.merge(t2.on="a",how='right') 以t2为准

分组聚合  df.groupby(by)  得到groupby对象 能够调用聚合方法,能够遍历

                df.groupby(by).mean()

                df.groupby(by="","").sum()  带符合索引的DataFrame

 索引 df.index

        df.index = ["a","c"]

        df.set_index("a")

        df.set_index(["a","c"])

        从复合索引中取值   Series   s1["a"]["b"]   s1["a","b"]

                                        DataFrame  df.loc["a"].loc["b"]

        从里层索引开始选择 df.swaplevel() 交换里外层索引的位置

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值