我已經撰寫了幾行代碼來將 pandas 資料框列的專案轉換為具有適當值的 dict。代碼如下所示:
states = df.STATE.unique()
states.sort()
states_values = [i for i in range(0,len(states))]
state_dict = {states[i]: states_values[i] for i in range(len(states))}
但是我有很多列要轉換,所以我嘗試使用一個函式并撰寫了一個這樣的函式
def make_dict(dataframe,column_name):
keys = dataframe.column_name.unique()
keys.sort()
values = [i for i in range(0,len(keys))]
dict = {keys[i]: values[i] for i in range(len(keys))}
return dict
但是當我嘗試
city_dict = make_dict(df,'CITY')
其中 CITY 是我的列名,它會引發錯誤
AttributeError: 'DataFrame' object has no attribute 'column_name'
我試過設定一個變數并做到了,但同樣的錯誤。
嘗試df['CITY']過,df.CITY但仍然沒有成功。請讓我知道我錯過了什么。
uj5u.com熱心網友回復:
您可以使用它getattr()來獲取任意屬性。
keys = getattr(dataframe, column_name).unique()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/494230.html
上一篇:意外的字串拆分行為
下一篇:r在資料框串列上應用函式
