pandas對某一列數據進行處理

今天遇到一個問題,小記錄一下處理過程,現在要將一個pandas變量的某個字段進行轉換。

之前學的是用applymap對所有字段進行批量處理,然後搜索了一些資料後,做了如下總結,使用apply方法只改某個需要的字段。

# 定義處理方法,至少要有一個入參,然後有返回內容
# 此處示例是通過判斷一個字符串裏面是否含有某個字,然後轉換爲1或0

def processMethod(d:str)->int:
    # print(d)
    if d.find('something')>0:
        return 1
    else:
        return 0

# 此處示例的變量爲一個<class 'pandas.core.frame.DataFrame'>
# 只想處理其中一列時,使用variable['paramName']來指定需要處理的列

# 只處理某列時可以用apply方法,然後傳入一個lambda,裏面用x['paramName']再指定要傳入的參數
# 必須加axis=1,否則會報錯,把rooms變量的第一個字段,而不是指定的字段給傳進去
# axis=1,表示每次取一行數據進行處理,按行處理

rooms['direction']=rooms.apply(lambda x:processMethod(x['direction']),axis=1)
發佈了17 篇原創文章 · 獲贊 20 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章