首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有许多条件的Pandas列选择变得很笨拙

具有许多条件的Pandas列选择变得很笨拙
EN

Stack Overflow用户
提问于 2019-06-28 06:59:03
回答 2查看 31关注 0票数 0

快速Pandas问题:

我通过在一个系列上使用apply来清理数据帧的各个列中的值:

代码语言:javascript
复制
# For all values in col 'Rate' over 1, divide by 100

df['rate'][df['rate']>1] = df['rate'][df['rate']>1].apply(lambda x: x/100)

当选择条件很简单时,例如df['rate']>1,这是很好的。但是,当您开始添加多个选择条件时,这会变得非常长:

代码语言:javascript
复制
df['rate'][(df['rate']>1) & (~df['rate'].isnull()) & (df['rate_type']=='fixed) & (df['something']<= 'nothing')] = df['rate'][(df['rate']>1) & (df['rate_type']=='fixed) & (df['something']<= 'nothing')].apply(lambda x: x/100)

最简洁的方法是: 1.从DataFrame中分离出一列(作为系列) 2.将函数应用于系列的项目3.使用修改后的系列更新DataFrame

我试过使用df.update(),但似乎不起作用。我也尝试过使用系列作为选择器,例如isin(Series),但我也不能让它工作。

谢谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56799308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档