python dataframe选择满足某条件的行,进行操作

import pandas as pd
data = {'state':['Ohio','Ohio','Merry','Nevaio','Nevada'],
    'year':[2000,2001,2002,2001,2002],
    'pop':[1.5,1.7,3.6,2.4,2.9]
}
frame = pd.DataFrame(data,columns=['year','state','pop','debt'],index=['one','two','three','four','five'])
frame

 

数据如上图所示,现找出state中'state'列中含有字符'io'的行,将其的debt列赋值为'aa',实现代码如下:

frame.ix[frame['state'].str.contains('io'),['debt']] = 'aa'
frame

现找出state中'state'列中等于‘Ohio’行,将其的debt列赋值为'aa',frame还是开头定义的,实现代码如下:

frame.ix[frame['state']=='Ohio',['debt']] = 'aa'
frame

多个选择条件时,用(‘&’、‘|’),如现找出state中'state'列中等于‘Ohio’行或者‘Merry’的行,用'|',将其的debt列赋值为'aa',实现代码如下:

frame.ix[(frame['state']=='Ohio')|(frame['state']=='Merry'),['debt']] = 'aa'
frame

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值