《Python数据分析实战》6 pandas:数据处理

本文介绍了使用 Python 的 Pandas 库进行数据操作的方法,包括数据的合并、拼接、去重、映射、离散化及显示数值概括信息等功能。同时涵盖了排序、分组等高级操作技巧。
  • 合并

pd.merge(dat1, dat2, on='id'):根据id合并

pd.merge(dat1, dat2, left_on='rid', right_on='sid'):根据rid与sid合并

pd.merge(dat1, dat2, on='id', how='inner'):内连接

pd.merge(dat1, dat2, on='id', how='left'):左连接

pd.merge(dat1, dat2, on='id', how='right'):右连接

pd.merge(dat1, dat2, on='id', how='outer'):外连接

pd.merge(dat1, dat2, right_index=True, left_index=True):根据索引合并

  • 拼接

pd.concat([srs1, srs2]):沿列拼接

pd.concat([srs1, srs2], axis=1):根据行index沿行拼接

pd.concat([dat1, dat2]):根据列index沿列拼接

pd.concat([dat1, dat2], axis=1) :根据行index沿行拼接

  • 去重

pd.drop_duplicates(subset=['cone'], keep='first'):以对应列去重,保留第一个

pd.drop_duplicates(keep='last'):以所有列去重,保留最后一个

  • 映射

srs.replace(np.nan,0):替换元素

dat.replace({0:1}):替换元素

dat['ctwo'] = dat['cone'].map({1:2,2:3,3:4}):新增映射列

  • 离散化

srs2 = pd.cut(srs1, [0,0.2,0.5,1]):切割数值

srs2 = pd.cut(srs1, 5):等距分组切割数值

srs2 = pd.qcut(srs1, 5):等数分组切割数值

  • 显示数值概括信息

dat.describe()

  • 排序

dat.take(np.random.permutation(len(dat1))):随机排序

dat.take(np.random.randint(0,len(dat),size=3)):随机抽取

  • 分组

dat.groupby('cone').sum():根据列分组求和

dat.groupby(dat['cone']).sum():根据列分组求和

dat['cone'].groupby(dat['ctwo']).sum():根据列分组求和(针对一列)

for name, group in dat.groupby('cone')::分组迭代

dat.groupby('cone').sum().add_prefix('total_'):各列分组求和生成DataFrame

dat.groupby(['cone','ctwo']).apply(lambda x: x.max()):根据两列分组取极大值

 

转载于:https://www.cnblogs.com/jhc888007/p/9376750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值