使用Pandas apply()方法返回多列数据
创作时间:
作者:
@小白创作中心
使用Pandas apply()方法返回多列数据
引用
1
来源
1.
https://geek-docs.com/pandas/pandas-dataframe/return-multiple-columns-using-pandas-apply-method.html
Pandas库中的apply()方法是一个非常强大的工具,可以对DataFrame的行或列应用自定义函数。本文将详细介绍如何使用apply()方法返回多列数据,通过多个示例展示其不同用法,帮助读者掌握这一重要技能。
传递给pandas.apply()的对象是系列对象,其索引是DataFrame的索引(axis=0)或DataFrame的列(axis=1)。默认情况下(result_type=None),最终的返回类型是由应用函数的返回类型推断出来的。否则,它取决于 result_type 参数。
语法:
s.apply(func, convert_dtype=True, args=())
使用apply()方法创建Dataframe以返回多个列
# Importing required Libraries
import pandas
import numpy
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns=['A', 'B'])
display(dataFrame)
输出:
下面是一些描述pandas.DataFrame.apply()的使用的程序
示例 1:
使用Numpy的通用函数(在这种情况下与numpy.sqrt()相同)。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sqrt)
输出:
returning multiple columns from Pandas apply()
A B
0 2.0 3.0
1 2.0 3.0
2 2.0 3.0
示例 2:
在列上使用还原函数。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sum, axis = 0)
输出:
returning multiple columns from Pandas apply()
A 12
B 27
dtype: int64
示例 3:
在行上使用还原函数。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sum, axis = 1)
输出:
returning multiple columns from Pandas apply()
0 13
1 13
2 13
dtype: int64
示例 4:
返回一个类似于列表的东西将导致一个使用lambda函数的系列。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1)
输出:
returning multiple columns from Pandas apply()
0 [1, 2]
1 [1, 2]
2 [1, 2]
dtype: object
示例 5:
传递result_type='expand'将把列表式的结果扩展到Dataframe的列。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1, result_type ='expand')
输出:
returning multiple columns from Pandas apply()
0 1
0 1 2
1 1 2
2 1 2
示例 6:
在函数中返回一个系列,类似于传递 result_type='expand'。结果的列名将是系列的索引。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: pandas.Series([1, 2], index =['foo', 'bar']), axis = 1)
输出:
returning multiple columns from Pandas apply()
foo bar
0 1 2
1 1 2
2 1 2
示例 7:
传递result_type='broadcast'将确保同一形状的结果,无论是列表还是标量都由函数返回,并沿axis线广播。结果的列名将是原来的。
# Using pandas.DataFrame.apply() on the data frame
print('returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1, result_type ='broadcast')
输出:
returning multiple columns from Pandas apply()
A B
0 1 2
1 1 2
2 1 2
热门推荐
抹茶的功效:从抗氧化到改善心血管健康
八珍丸和八珍益母丸区别在哪?选谁调理好
医院如何确保各部门职责明确、分工合理
如何评估移民投资项目的风险和收益?有哪些注意的事?
解约协议书签订:双方权利义务的明确表述
大数据分析用什么编程语言?常用的四种开发语言
不同物质密度的比较与分析
腰椎间盘突出症的诊断标准及注意事项
突发眩晕,是脑中风吗?
正式员工与合同工:劳动关系的法律解析
手把手教你轻松注销鲁通卡ETC,从此告别烦恼!
IT系统架构师的职业发展路径有哪些?
信息安全专业就业前景展望:行业趋势与市场分析,潜力高校有哪些
家暴离婚财产应该怎样分配
仿真环境下智能驾驶测试场景可测性评估方法
凤凰单丛宋种,茶界的"高香贵族"
想了解风靡上海的凤凰单丛?看这一篇就够了!
可丽耐一体盆值得买吗?可丽耐一体盆的优缺点
玩无畏契约时,理想的Ping值是多少?如何通过优化设置和硬件来达到这一目标?
2024年终盘点:中国风电技术的高光时刻
硬件知识:一文带大家了解显卡的组成和种类
全国十大葡萄酒产区:从汉武帝时期到现代的传承与创新
同步带轮如何实现免键连接?
揭秘铝箔与锡纸的区别,它们不是同一回事!
古代农村早餐探秘:简朴而充满智慧的饮食文化
“九一八”打响抗日第一枪,被写入国歌的义勇军,民族英雄黄显声
微信客服回应长期不登会回收!里面有钱另算
动量守恒与非弹性碰撞
一寸照尺寸是多少?常用场合有哪些?
天津国芯科技有限公司参与主办密码安全论坛,探讨前沿技术与产业发展