使用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
热门推荐
秦淮灯彩,点亮新年氛围
金庸笔下的清朝世界:一个充满矛盾与魅力的时代
膳食纤维是大白菜1.7倍,娃娃菜的六大养生功效
苹果营养价值与七大传说:科学解读水果界“顶流”
京港澳高速沿线三大服务区:涿州便捷、郑州东现代、正定文化
农业科技有“研”值丨高增玉:“抢”来5粒种子 用17年让鲜食玉米“破圈突围”
食叶草的功效、作用和食用方法
别让懦弱成为你的命运:贾迎春的悲剧与现代人警示
热锅冷油+快速滑炒:让炒肉丝滑嫩不粘锅
小米大米营养价值对比:蛋白质脂肪含量不同,适用人群有别
玉米胚芽粉的最佳食用时间及对眼睛的益处
为什么一到冬天,皮肤就会发痒?
刘涛推荐:鲜椒炒干豆腐最佳配料
双减政策下,小学思想品德课如何创新教学?
电视尺寸怎么选?关键看这个参数!
冬季进补首选:红参鸡汤
罗瑞卿:毛主席身边的“福将”,从长征到解放战争的忠诚卫士
告别痘痘从减压开始:三种实用方法助你改善肌肤
陈建斌首执导筒,黑色幽默揭示社会信任危机
乳果糖与麻仁丸等三种中成药治疗便秘效果对比
洛杉矶历史性山火致7死18万疏散,拜登宣布重大灾难
自驾游 vs 公共交通:兴汉胜境到龙头山谁更胜一筹?
白血球高伴血尿怎么办?这些症状不容忽视
端午节安全指南:防溺水、交通安全不可忽视
陪产假期间新父母健康管理:睡眠、营养、运动三要素
四季分明地区如何高效搭配衣物?
甄嬛传深度解析:权力巅峰的代价
昆明-东川-会泽-香格里拉:云南自驾游的另类选择
破解金融AI隐私难题,杨强院士提出联邦迁移学习方案
小矶竿成为了许多钓友的新宠,从小矶竿的入门到精通分享给你!