對于 DataFrame 中的每一行,我都有以下嵌套字典。
dictionary
{'https://twitter.com/tonythehuff/status/927186407789137920/photo/1': {'malicious': False}}
{'http://giveaway.amazon.com\\__CONNECTIONPOOL_ERROR__': {'malicious': False}}
{'http://pcktpro.com\\__CONNECTIONPOOL_ERROR__': {'malicious': True}}
我想通過映射嵌套字典的值來創建一個新列。名為“惡意”的新列中的行看起來像
malicious
False
False
True
是否有任何有效的方法來獲取上述嵌套字典的值?
資料:
{'dictionary': [
{'https://twitter.com/tonythehuff/status/927186407789137920/photo/1': {'malicious': False}},
{'http://giveaway.amazon.com\\__CONNECTIONPOOL_ERROR__': {'malicious': False}},
{'http://pcktpro.com\\__CONNECTIONPOOL_ERROR__': {'malicious': True}}]}
uj5u.com熱心網友回復:
看起來帶有雙回圈的串列理解應該可以完成這項作業:
df['malicious'] = [d.get('malicious') for outer_d in df['dictionary'] for d in outer_d.values()]
或者您可以嘗試使用以下代碼從“字典”列中創建一個 DataFrame,并使用以下代碼獲取“惡意”鍵下的值str.get:
df['malicious'] = (pd.DataFrame(df['dictionary'].tolist()).set_axis([0]*len(df), axis=1)
.groupby(level=0, axis=1)
.first()[0]
.str.get('malicious'))
輸出:
dictionary malicious
0 {'https://twitter.com/tonythehuff/status/92718... False
1 {'http://giveaway.amazon.com\__CONNECTIONPOOL_... False
2 {'http://pcktpro.com\__CONNECTIONPOOL_ERROR__'... True
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433548.html
