首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Pandas数据帧元素上应用条件

在Pandas数据帧元素上应用条件
EN

Stack Overflow用户
提问于 2017-01-22 06:10:37
回答 1查看 8.7K关注 0票数 7

我正在学习Python,我试图理解apply()方法在Pandas数据帧中是如何工作的。

作为练习,我想使用一行代码对Pandas dataframe的元素应用str.upper()方法,前提是这些元素是字符串。

我想将lambda条件表达式与apply结合使用,但问题是,当apply调用Pandas dataframe时,dataframe --如果我理解得很好的话--返回一个要应用的Series,然后将其传递给函数。我想知道如何才能更深入,并在Pandas数据帧的元素上调用函数。

这就是我在DataFrame (a Series)的一个列上调用apply()时想要做的事情:

代码语言:javascript
复制
df= pd.DataFrame([[1, 'a'],['b',2]], columns = ['A', 'B'] )
df['A'].apply(lambda x: str.upper(x) if type(x) is str else x)

但是我怎么能用一行代码在整个数据帧上做到这一点呢?

我正在寻找一个解决方案,将与包含数字和字符串的列一起工作,并将数字保持不变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 06:25:43

你的一句话

代码语言:javascript
复制
df.applymap(lambda x: x.upper() if isinstance(x, str) else x)

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

https://stackoverflow.com/questions/41785095

复制
相关文章

相似问题

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