2
我仍然在學習python,並且我有一個屬於相當大的矩陣的向量,並且此向量中的條目是對象類型的。他們是('< 1年','1年','2年'等) 我想分別改爲0,1,2,3。我寫了以下工作的行,但必須有更簡單的解決方案,它不需要循環用10個條件:Python中矩陣中的多個字符替換
import numpy as np
import pandas as pd
data_file = pd.read_csv('loan.csv')
emp_length=data_file.emp_length
emp_len=[]
for i in range(len(emp_length)):
if emp_length[i]=='< 1 year':
emp_len.append(0)
elif emp_length[i]=='1 year':
emp_len.append(1)
elif emp_length[i]=='2 years':
emp_len.append(2)
elif emp_length[i]=='3 years':
emp_len.append(3)
elif emp_length[i]=='4 years':
emp_len.append(4)
elif emp_length[i]=='5 years':
emp_len.append(5)
elif emp_length[i]=='6 years':
emp_len.append(6)
elif emp_length[i]=='7 years':
emp_len.append(7)
elif emp_length[i]=='8 years':
emp_len.append(8)
elif emp_length[i]=='9 years':
emp_len.append(9)
elif emp_length[i]=='10+ years':
emp_len.append(10)
else:
emp_len.append(0)
我並不需要創建新載體,但是這是解決方案,我是能夠自己想出來。如果無論如何要替換同一個向量中的條目,它會更好。謝謝你的任何建議和幫助
巨大訪問映射整數!非常感謝你,雖然我認爲pd.factorize不起作用,因爲在例如'10 +年'的情況下,它將返回1,但地圖非常有幫助 –
如果答案有幫助,請不要忘記[接受](http:/ /meta.stackexchange.com/a/5235/295067)。謝謝。 – jezrael
這是一個很好的答案! – MaxU