如何使用Lambda来修改Pandas数据框中的值
短信预约 -IT技能 免费直播动态提醒
这篇文章主要为大家展示了“如何使用Lambda来修改Pandas数据框中的值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Lambda来修改Pandas数据框中的值”这篇文章吧。
使用Lambda来修改Pandas数据框中的值
假设我们有以下df数据框:
data = [[1,2,3], [4,5,6], [7,8,9]]
df = pd.DataFrame(data, columns=[0,1,2])
IN[1]: print (df)
OUT[1]: 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
现在由于某种原因,你需要在第0列的数字上添加01的值。一个常见的方法是定义一个函数来完成这个任务,然后用 apply 函数来修改一列的值。
def add_numbers(x):
return f'{x}01'
df[0] = df[0].apply(add_numbers)
IN[1]: print (df)
OUT[1]: 0 1 2
0 101 2 3
1 401 5 6
2 701 8 9
这并不复杂,但是在数据框中对每一个改变创建一个函数是不切实际的。这时lambda就派上了用场。
lambda函数类似于普通的Python函数,但它可以不使用名称来定义,这使得它成为一个漂亮的单行代码。之前使用的代码可以用以下方式来减少。
df[0] = df[0].apply(lambda x:f'{x}01')
当你不知道是否可以访问一个系列的属性来修改数据时,Lambda变得非常有用。
例如,列0包含字母,我们想把它们大写。
# 如果你知道.str的存在,你可以这样做
df[0] = df[0].str.title()
# 如果你不知道.str,你仍然可以用lambda大写
df[0] = df[0].apply(lambda x: x.title())
以上是“如何使用Lambda来修改Pandas数据框中的值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341