使用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
热门推荐
IT人员个人发展规划指南:如何与市场需求精准匹配?
春季养生新知:揭开猪肝的神秘面纱,科学食用远离谣言!
内地人获取香港身份6大主流途径,11个维度对比香港6个人才落户政策的区别
社群私域运营秘籍:打造高效互动与持续增长的闭环
做中国人,到底哪一年最关键
了解中国古建筑的六大构件
数字媒体技术专业求职者怎样写好技能特长
唐朝建立、统一过程是怎样的?历史上对唐朝有何评价?
驾驶证年审流程怎么走
探索肺癌靶向治疗前景与难题
界面活性剂与临界胶束浓度(CMC)的原理
纺织色差仪CMC(l:c)色差公式详解
阿那亚自由行攻略 阿那亚旅游攻略自由行
一个好的自我介绍应该采用什么样的结构
软件系统的建模方法详解
学生营养早餐一周食谱大全及做法
国债逆回购的交易时间和交易规则
回调(callback)理解
儿童多发性硬化症:从诊断到治疗的全面指南
小手蜕变记:孩子精细运动成长的神奇旅程
免费八字婚姻测算,传统文化与现代科技的完美结合-婚姻预测全解析
吃蜜枣有什么好处?蜜枣的功效与作用
Windows 10磁盘分区详细教程
毕业证和结业证有什么区别?找工作有影响吗
项目监督管理日志怎么写
上证指数的意义何在?其对投资者有哪些参考价值?
多样统一是形式美的最高法则
支持向量机(SVM)原理与应用
锐际钥匙更换电池图解,长安福特 锐际 遥控器电池更换
研究提醒:没事别发自拍照,不然会让别人觉得不受欢迎、不可靠……