您好我想從存盤在資料框列中的字典中訪問一個值并將其匯出到串列中。
我可以通過將其拆分為字串來做到這一點,就像這樣
# dataframe
df = pd.DataFrame(data={'a':[{'word' : '3'}, {'word':'1'}, {'word':'0'}], 'b':['cat', 'dog', 'mouse']})
# get the number value as a string
idx = df['a'].astype(str).str[10].to_list()
但我認為將其視為實際字典并通過字典項訪問可能會更好。但是,當我通過 df['a'].items() 創建串列時,串列將數字存盤在我不想擁有的 dict_values(['x']) 字串中,我只想要 [3,1,0] .
# get the number value as a dictionary item
[i[1].values() for i in df['a'].items()]
歡迎所有建議。謝謝
uj5u.com熱心網友回復:
您可以使用它從包含字典的列Series.str.get中提取值。object
df['idx'] = df['a'].str.get('word')
indices = df['idx'].to_list()
uj5u.com熱心網友回復:
另一種選擇是將列轉換為串列,將其轉換為 DataFrame 建構式。這將創建一個 DataFrame,其中列對應于字典鍵,值對應于 dict 值。然后只需選擇相關的列/鍵并將值轉換為串列:
idx = pd.DataFrame(df['a'].tolist())['word'].tolist()
輸出:
['3', '1', '0']
uj5u.com熱心網友回復:
嗨,你可以只使用一個 join:
listElement = [''.join(i[1].values()) for i in df['a'].items()]
輸出:
['3', '1', '0']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/418711.html
標籤:
