如何使用Lambda来修改Pandas数据框中的值
这篇文章主要为大家展示了“如何使用Lambda来修改Pandas数据框中的值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Lambda来修改Pandas数据框中的值”这篇文章吧。
创新互联建站于2013年开始,先为卧龙等服务建站,卧龙等地企业,进行企业商务咨询服务。为卧龙企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
使用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数据框中的值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享文章:如何使用Lambda来修改Pandas数据框中的值
文章转载:http://scyanting.com/article/jpdosi.html