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

Written by

in

文章目录
  • 怎样给表格添加一列 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表格添加多列内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python中pandas操作apply返回多列的实现 pandas apply使用多列计算生成新的列实现示例 Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg) pandas使用apply多列生成一列数据的实例
  • 目录
    • 一、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表格添加多列内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • python中pandas操作apply返回多列的实现
    • pandas apply使用多列计算生成新的列实现示例
    • Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
    • pandas使用apply多列生成一列数据的实例

    站内搜索