亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:如何將數字映射到列中的唯一項目(枚舉唯一對象)?

Python:如何將數字映射到列中的唯一項目(枚舉唯一對象)?

元芳怎么了 2022-07-19 20:36:49
我需要將數字分配給數據框中特定列的唯一值,并將其作為新列...例如:ex_list=['12-B', '10002', '3A', '4', 'DCX', '3A'] df=pd.DataFrame(ex_list, columns=['Items'])這是預期的輸出:請注意,我需要對超過 1M 行的數據框執行此操作,因此肯定會喜歡一種有效的方法!
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

你可以這樣做。


import pandas as pd

ex_list=['12-B', '10002', '3A', '4', 'DCX', '3A']

df=pd.DataFrame(ex_list, columns=['Items'])

df['Num_Items']=pd.factorize(df['Items'].tolist())[0]

輸出


    Items   Num_Items

0   12-B    0

1   10002   1

2   3A      2

3   4       3

4   DCX     4

5   3A      2


查看完整回答
反對 回復 2022-07-19
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

ex_list=['12-B', '10002', '3A', '4', 'DCX', '3A']

df=pd.DataFrame(ex_list, columns=['Items'])

從列中獲取唯一值,在這些唯一項和整數之間創建映射,然后沿Items列應用該映射。


mapping = {item:i for i, item in enumerate(df["Items"].unique())}

df["Num_Items"] = df["Items"].apply(lambda x: mapping[x])

df

http://img1.sycdn.imooc.com//62d6a5930001cfa903030365.jpg

查看完整回答
反對 回復 2022-07-19
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號