pandas使用apply函数给表格同时添加多列

 更新时间:2025年11月25日 10:54:40   作者:风华浪浪  
本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、Pandas使用apply函数给表格同时添加多列

怎样给表格添加一列

def my_func(row):
new column = row["a"] + rowl["b"]
return new column
df["new_column"] = df.apply(my_func, axis=1)

怎样同时添加多列?

def my func(row):
	newa, newb = row["a"] + row["b"], rowl["a"] - row["b"]
	return newa, newb
df[["newa", "newb"]] = df.apply(my func, axis=1, result type="expand")

二、应用示例

fpath = '/Users/python/Desktop/means/ml-25m/beijing_tianqi_2017-2019.csv'
df = pd.read_csv(fpath)

df.head()

	ymd	bWendu	yWendu	tianqi	fengxiang	fengli	aqi	aqiInfo	aqiLevel
0	2017-01-01	5℃	-3℃	霾~晴	南风	1-2级	450	严重污染	6
1	2017-01-02	7℃	-6℃	晴~霾	南风	1-2级	246	重度污染	5
2	2017-01-03	5℃	-5℃	霾		南风	1-2级	320	严重污染	6
3	2017-01-04	6℃	-5℃	霾		北风	1-2级	360	严重污染	6
4	2017-01-05	2℃	-4℃	霾		北风	1-2级	280	重度污染	5
df['bWendu'] = df['bWendu'].map(lambda x: int(str(x).replace('℃', '')))
df['yWendu'] = df['yWendu'].map(lambda x: int(str(x).replace('℃', '')))
df.head()

ymd	bWendu	yWendu	tianqi	fengxiang	fengli	aqi	aqiInfo	aqiLevel
0	2017-01-01	5	-3	霾~晴	南风	1-2级	450	严重污染	6
1	2017-01-02	7	-6	晴~霾	南风	1-2级	246	重度污染	5
2	2017-01-03	5	-5	霾		南风	1-2级	320	严重污染	6
3	2017-01-04	6	-5	霾		北风	1-2级	360	严重污染	6
4	2017-01-05	2	-4	霾		北风	1-2级	280	重度污染	5

定义了一个名为 my_func 的函数,该函数接受一个行对象 row 作为参数,并返回两个值:wencha 和 avg
将这个函数应用于 DataFrame df 的每一行,使用 .apply() 方法,并指定 axis=1 来按行操作
使用 result_type=‘expand’ 来指定结果是扩展成新的列
将函数返回的两个值分别赋值给 DataFrame df 的新列 ‘wencha’ 和 ‘avg’

def my_func(row):
    return row['bWendu'] - row['yWendu'], (row['bWendu'] + row['yWendu'])/2
df[['wencha', 'avg']] = df.apply(my_func, axis=1, result_type='expand')
df.head()

	ymd	bWendu	yWendu	tianqi	fengxiang	fengli	aqi	aqiInfo	aqiLevel	wencha	avg
0	2017-01-01	5	-3	霾~晴	南风	1-2级	450	严重污染	6	8.0		1.0
1	2017-01-02	7	-6	晴~霾	南风	1-2级	246	重度污染	5	13.0	0.5
2	2017-01-03	5	-5	霾		南风	1-2级	320	严重污染	6	10.0	0.0
3	2017-01-04	6	-5	霾		北风	1-2级	360	严重污染	6	11.0	0.5
4	2017-01-05	2	-4	霾		北风	1-2级	280	重度污染	5	6.0		-1.0

到此这篇关于pandas使用apply函数给表格同时添加多列的文章就介绍到这了,更多相关pandas表格添加多列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • flask route对协议作用及设计思路

    flask route对协议作用及设计思路

    这篇文章主要为大家介绍了flask route对协议作用及设计思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Python jieba库用法及实例解析

    Python jieba库用法及实例解析

    这篇文章主要介绍了Python jieba库用法及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 使用django-guardian实现django-admin的行级权限控制的方法

    使用django-guardian实现django-admin的行级权限控制的方法

    这篇文章主要介绍了使用django-guardian实现django-admin的行级权限控制的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 使用pandas模块实现数据的标准化操作

    使用pandas模块实现数据的标准化操作

    这篇文章主要介绍了使用pandas模块实现数据的标准化操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python解惑之True和False详解

    Python解惑之True和False详解

    这篇文章主要给大家介绍了关于Python中常用的数据类型bool(布尔)类型的两个值:True和False的相关资料,通过示例代码给大家进行了解惑,让对这两个值有所疑惑的朋友们能有起到一定的帮助,需要的朋友下面来一起看看吧。
    2017-04-04
  • python 安装virtualenv和virtualenvwrapper的方法

    python 安装virtualenv和virtualenvwrapper的方法

    下面小编就为大家带来一篇python 安装virtualenv和virtualenvwrapper的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    下面小编就为大家带来一篇Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python使用jpype模块调用jar包过程解析

    Python使用jpype模块调用jar包过程解析

    这篇文章主要介绍了Python使用jpype模块调用jar包过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python实现RAG检索增强生成的完整教学

    Python实现RAG检索增强生成的完整教学

    检索增强生成(Retrieval-Augmented Generation, RAG)是当下最热门的 AI 应用架构之一,本文用 Python 从零实现一个完整的 RAG 系统,让大模型基于你的私有知识精准回答,希望对大家有所帮助
    2026-05-05
  • python中使用xlrd读excel使用xlwt写excel的实例代码

    python中使用xlrd读excel使用xlwt写excel的实例代码

    这篇文章主要介绍了python中使用xlrd读excel使用xlwt写excel的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论