当前位置: 代码网 > it编程>前端脚本>Python > pandas使用apply函数给表格同时添加多列

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

2025年11月25日 Python 我要评论
一、pandas使用apply函数给表格同时添加多列怎样给表格添加一列def my_func(row):new column = row["a"] + rowl["b"]return new colu

一、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表格添加多列内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com