我有一本這樣的字典:
dict = {"key 1": ["val 1", "val 2"],
"key 2": ["val 3", "val 4", "val 5"],
"key 3": ["val 6", "val 7"],
...
}
我還有一個 pandas 資料框,其中包含這樣的所有鍵:
key
0 key 1
1 key 2
2 key 3
...
我需要向名為 first_key 的資料框添加一個新列,該列為字典中的每個鍵獲取字典中串列的第一個元素,因此最終結果如下:
key first_key
0 key 1 val 1
1 key 2 val 3
2 key 3 val 6
...
我遇到了一些麻煩......做這樣的事情是行不通的:
df['first_key'] = df['key'].map(dict[WHAT HERE][0])
:D
uj5u.com熱心網友回復:
嘗試:
dct = {
"key 1": ["val 1", "val 2"],
"key 2": ["val 3", "val 4", "val 5"],
"key 3": ["val 6", "val 7"],
}
df["first_key"] = df["key"].apply(dct.get).str[0]
print(df)
印刷:
key first_key
0 key 1 val 1
1 key 2 val 3
2 key 3 val 6
或者:
df["first_key"] = df["key"].map(dct).str[0]
uj5u.com熱心網友回復:
嘗試這個:
new_dict = {k: v[0] for k, v in your_dict.items()}
df['first_key'] = df['key'].map(new_dict)
uj5u.com熱心網友回復:
使用map和.str[0]:
df['first_key'] = df['key'].map(dict).str[0]
輸出:
>>> df
key first_key
0 key 1 val 1
1 key 2 val 3
2 key 3 val 6
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486109.html
