pandas列值根據字典批量替換
背景
DataFrame資料中一列的值需要根據某個字典批量對映為字典中的value。
方法1:pandas中的df.replace
import pandas as pd
import numpy as np
df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})
print("init df:")
print(df)
column_dict = {1: "A", 2: "B"}
new_df = df.replace({"col1": column_dict})
print("use dict to replace one column,dict=", column_dict)
print("new df:")
print(new_df)
執行結果:
init df:
col2 col1
0 a w
1 2 1
2 NaN 2
use dict to replace one column,dict= {1: 'A', 2: 'B'}
new df:
col2 col1
0 a w
1 2 A
2 NaN B
方法2:map操作
import pandas as pd
import numpy as np
df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})
print("init df:")
print(df)
column_dict = {1: "A", 2: "B"}
# new_df = df.replace({"col1": column_dict})
df['col1'] = df['col1'].map(column_dict)
print("use dict to replace one column,dict=", column_dict)
print("new df:")
print(df)
執行結果:
init df:
col2 col1
0 a w
1 2 1
2 NaN 2
use dict to replace one column,dict= {1: 'A', 2: 'B'}
new df:
col2 col1
0 a NaN
1 2 A
2 NaN B
PS:
資料量大的情況下,map會比 replace 要快。
相關文章
- python根據字典內的值實現排序Python排序
- 根據陣列的值刪除元素陣列
- vim的批量替換
- mysql批量替換指定字串MySql字串
- VI中的批量替換
- 根據字典中值得大小,對字典中的項排序排序
- 二維陣列根據鍵的值進行排序陣列排序
- Pandas根據篩選條件對指定excel列進行篩選!神器!Excel
- mysql型別批量替換工具MySql型別
- 「Excel技巧」Excel中根據某列的值去彙總另外一列的值Excel
- MysqlDump根據萬用字元批量匯出MySql字元
- 批量修改檔名 與 批量檔案字元替換字元
- MSSQL遍歷資料庫根據列值查詢資料SQL資料庫
- perl命令:批量修改替換檔案
- 根據字典,轉成相應的進位制
- PHP 如何根據鍵值刪除一個陣列中的元素PHP陣列
- 根據查詢條件批量修改表資料
- 如何根據角色批量啟用SAP Fiori服務
- linux中批量替換文字中字串Linux字串
- 使用變數替換批量部署GoldenGate變數Go
- JavaScript 根據物件鍵值進行排序JavaScript物件排序
- js根據class值獲取元素物件JS物件
- 替換NULL值幫助文件Null
- [Python] Pandas 對資料進行查詢、替換、篩選、排序、重複值和缺失值處理Python排序
- grep、sed批量替換檔案內容shell
- rhel5 vi 批量替換匹配的字串字串
- 根據陣列中物件進行排序陣列物件排序
- excel替換指定列的文字Excel
- 根據小姐姐的抖音號批量下載抖音視訊
- 如何在列表,字典,集合中根據條件篩選資料
- php 陣列根據元素從小到大排序PHP陣列排序
- excel根據某一列匹配資料Excel
- map自定義排序,根據鍵或者值排隊排序
- 根據選擇的物料顯示其特性值
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- 二維陣列根據欄位進行排序陣列排序
- 二維陣列根據某個欄位排序陣列排序
- R語言中根據列名刪除指定的列R語言