pandas使用apply函數(shù)給表格同時(shí)添加多列
一、Pandas使用apply函數(shù)給表格同時(shí)添加多列
怎樣給表格添加一列
def my_func(row): new column = row["a"] + rowl["b"] return new column df["new_column"] = df.apply(my_func, axis=1)
怎樣同時(shí)添加多列?
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")
二、應(yīng)用示例
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℃ 霾~晴 南風(fēng) 1-2級(jí) 450 嚴(yán)重污染 6 1 2017-01-02 7℃ -6℃ 晴~霾 南風(fēng) 1-2級(jí) 246 重度污染 5 2 2017-01-03 5℃ -5℃ 霾 南風(fēng) 1-2級(jí) 320 嚴(yán)重污染 6 3 2017-01-04 6℃ -5℃ 霾 北風(fēng) 1-2級(jí) 360 嚴(yán)重污染 6 4 2017-01-05 2℃ -4℃ 霾 北風(fēng) 1-2級(jí) 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 霾~晴 南風(fēng) 1-2級(jí) 450 嚴(yán)重污染 6
1 2017-01-02 7 -6 晴~霾 南風(fēng) 1-2級(jí) 246 重度污染 5
2 2017-01-03 5 -5 霾 南風(fēng) 1-2級(jí) 320 嚴(yán)重污染 6
3 2017-01-04 6 -5 霾 北風(fēng) 1-2級(jí) 360 嚴(yán)重污染 6
4 2017-01-05 2 -4 霾 北風(fēng) 1-2級(jí) 280 重度污染 5
定義了一個(gè)名為 my_func 的函數(shù),該函數(shù)接受一個(gè)行對(duì)象 row 作為參數(shù),并返回兩個(gè)值:wencha 和 avg
將這個(gè)函數(shù)應(yīng)用于 DataFrame df 的每一行,使用 .apply() 方法,并指定 axis=1 來(lái)按行操作
使用 result_type=‘expand’ 來(lái)指定結(jié)果是擴(kuò)展成新的列
將函數(shù)返回的兩個(gè)值分別賦值給 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 霾~晴 南風(fēng) 1-2級(jí) 450 嚴(yán)重污染 6 8.0 1.0
1 2017-01-02 7 -6 晴~霾 南風(fēng) 1-2級(jí) 246 重度污染 5 13.0 0.5
2 2017-01-03 5 -5 霾 南風(fēng) 1-2級(jí) 320 嚴(yán)重污染 6 10.0 0.0
3 2017-01-04 6 -5 霾 北風(fēng) 1-2級(jí) 360 嚴(yán)重污染 6 11.0 0.5
4 2017-01-05 2 -4 霾 北風(fēng) 1-2級(jí) 280 重度污染 5 6.0 -1.0
到此這篇關(guān)于pandas使用apply函數(shù)給表格同時(shí)添加多列的文章就介紹到這了,更多相關(guān)pandas表格添加多列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
flask?route對(duì)協(xié)議作用及設(shè)計(jì)思路
這篇文章主要為大家介紹了flask?route對(duì)協(xié)議作用及設(shè)計(jì)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
使用django-guardian實(shí)現(xiàn)django-admin的行級(jí)權(quán)限控制的方法
這篇文章主要介紹了使用django-guardian實(shí)現(xiàn)django-admin的行級(jí)權(quán)限控制的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
使用pandas模塊實(shí)現(xiàn)數(shù)據(jù)的標(biāo)準(zhǔn)化操作
這篇文章主要介紹了使用pandas模塊實(shí)現(xiàn)數(shù)據(jù)的標(biāo)準(zhǔn)化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python 安裝virtualenv和virtualenvwrapper的方法
下面小編就為大家?guī)?lái)一篇python 安裝virtualenv和virtualenvwrapper的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)
下面小編就為大家?guī)?lái)一篇Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Python使用jpype模塊調(diào)用jar包過(guò)程解析
這篇文章主要介紹了Python使用jpype模塊調(diào)用jar包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python實(shí)現(xiàn)RAG檢索增強(qiáng)生成的完整教學(xué)
檢索增強(qiáng)生成(Retrieval-Augmented?Generation,?RAG)是當(dāng)下最熱門的?AI?應(yīng)用架構(gòu)之一,本文用?Python?從零實(shí)現(xiàn)一個(gè)完整的?RAG?系統(tǒng),讓大模型基于你的私有知識(shí)精準(zhǔn)回答,希望對(duì)大家有所幫助2026-05-05
python中使用xlrd讀excel使用xlwt寫(xiě)excel的實(shí)例代碼
這篇文章主要介紹了python中使用xlrd讀excel使用xlwt寫(xiě)excel的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01

