使用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
热门推荐
《熊出没》里的善恶观:一部动画片的教育启示
柑橘种植技术全攻略
笑到停不下来!熊大光头强搞笑集锦
中国人民警察大学:从军校到警大,华丽转身!
胡伯曼实验室揭秘肾上腺素与情绪管理的秘密
肾上腺素:你的压力管理神器?
《汉字英雄》揭秘:“琦”的五行秘密
天津地铁二号线:城市交通的新动脉
汉尼拔:一个反派的诞生
《毁灭全人类》:反派视角的游戏魅力与道德困境
贝吉塔:从邪恶王子到地球守护者的蜕变之路
前端如何根据IP地址获取地理位置
泉州提线木偶戏:千年艺术的现代传承
电子显微镜:揭秘微观世界的利器
数字显微镜:教育数字化转型的“显微”之力
儿童电子显微镜:提升专注力的科学探索神器
OpenAI再创佳绩!揭秘背后的人机对战技术
五腧穴及临床应用
86版《西游记》白龙马:从军马到明星的幕后故事
白龙马:从凡马到天龙的蜕变之旅
根管治疗一个良心牙医的忠告:根管治疗后叫你隔3天再去是有原因的!
春节聚餐食品安全指南:从选购到应急全攻略
脑血管健康:了解颈内动脉的秘密
老祖宗总结的一年四季养生重点,方法都在这儿了
【研究启示】重视T1DM患者早期肾脏损伤的筛查及管理
中药名方之桃红四物汤
如何正确调整电风扇的摇头角度以达到最佳通风效果?
智能风扇灯的功能介绍
风扇转速调节全攻略:从家用到工业级的调节方法
公积金调整办理流程及注意事项