簡體   English   中英

將 pandas get_dummies 合並回分類值

[英]Merging pandas get_dummies back to categorical values

我有一個 pandas dataframe,我有一個用 get_dummies 熱編碼的數據,數據以前有一個“類型”列,其中包含值 small_airport、large_airport、medium_airport,我將類型列分成每個不同類型的機場,其中 1 和 0頻率匹配。 使用get_dummies后,看起來有點像這樣:

frequency_mhz, type_large_airport, type_medium_airport, type_small_airport
-122.3648, 0, 1, 0

基本上我現在需要“撤消” get_dummies 並取回類型列。 我看過很多類似的問題並嘗試使用。

df = pd.get_dummies(data).idxmax(1)

但我似乎無法獲得我需要的結果,或者我對答案的理解不足以將它們實施到我自己的項目中。

我真的希望這很清楚! 任何幫助將不勝感激!

測試 df:

   key_a  key_b  key_c
0      0      1      0
1      0      1      0
2      1      0      0
3      0      0      1
4      1      0      0
5      0      1      0

代碼:

df.idxmax(axis='columns')

Output:

   key_a  key_b  key_c    key
0      0      1      0  key_b
1      0      1      0  key_b
2      1      0      0  key_a
3      0      0      1  key_c
4      1      0      0  key_a
5      0      1      0  key_b

對於您的情況,您可能想要明確選擇您正在使用的列,又名:

df['airport_type'] = df[['type_large_airport', 'type_medium_airport', 'type_small_airport']].idxmax(axis='columns')

然后如果你想簡化結果:

df.replace(['type_large_airport', 'type_medium_airport', 'type_small_airport'], ['large', 'medium', 'small'], inplace=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM