pandas入门--筛选字符串+groupby+sort

一 先筛选出还有'from'列中带有'iphone 6s'的行,然后对这些数据进行groupby,结果倒序排

约等同于sql中的groupby+where+order by +desc

df[df['from'].str.contains('iphone 6s plus')].groupby(['from','to'])['uid'].agg({'uv':'count'}).sort_values(by='uv',ascending=0)

筛选groupby之后排序,分组取top值(分组排序的迂回方法,不知道有没有更好的方法)

df[df['from'].str.contains('oppo r9')].groupby(['from','to'])['uid'].agg({'uv':'count'}).sort_values(by='uv',ascending=0)['uv'].groupby(level=0,group_keys=False).nlargest(5000).to_csv('/Users/cici/Documents/group_huanji.csv',encoding='utf-8')

 

二 输出A列和B列带有某字符串的C列

df[(df['from']=='苹果-iphone 6s') & (df['to']=='苹果-iphone 7')]['uid'].to_csv('/Users/cici/Documents/iphone6_ip7.csv',header=0,index=False)

转载于:https://www.cnblogs.com/fatcici2017/p/6634910.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值