我有一些帶有兩個球隊名稱和一些數字資料的足球資料:
ar = [
["browns", "patriots", 2, 5],
["patriots", "bills", 4, 15],
["browns", "bills", 1, 10],
["eagles", "browns", 3, 11]
]
frame = pandas.DataFrame(ar, columns=['Team1', 'Team2', 'Down', 'ToGo'])
我想將團隊名稱轉換為列舉型別,我可以為第一個團隊名稱執行此操作,例如:
frame['Team1'], uniques = frame['Team1'].factorize()
我怎樣才能同時對兩個團隊名稱執行此操作,以便具有一致的唯一性并且沒有缺失值?請注意,'bills'它不在Team1列中,因此我不能僅應用映射(盡管我也不知道如何執行此操作)。
編輯:生成的團隊名稱應如下所示:
Team1 Team2
0 0 1
1 1 3
2 0 3
3 2 0
以便“棕色”始終標記為“0”,在第 0 行中標記為 Team1,在第 3 行中標記為 Team2。
uj5u.com熱心網友回復:
import numpy as np
# get the unique values from the two columns
unique = np.unique(df[['Team1', 'Team2']])
# get the factors
factors = np.arange(len(unique))
# map the values to the corresponding factor
df[['Team1', 'Team2']] = df[['Team1', 'Team2']].replace(unique, factors)
>>> df
Team1 Team2 Down ToGo
0 1 3 2 5
1 3 0 4 15
2 1 0 1 10
3 2 1 3 11
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/349859.html
下一篇:無法將其更改為熊貓日期時間
