我正在尋找一種方法來優化我的代碼。從數據框中的列中提取字典值
我有條目數據以這種形式:
import pandas as pn
a=[{'Feature1': 'aa1','Feature2': 'bb1','Feature3': 'cc2' },
{'Feature1': 'aa2','Feature2': 'bb2' },
{'Feature1': 'aa1','Feature2': 'cc1' }
]
b=['num1','num2','num3']
df= pn.DataFrame({'num':b, 'dic':a })
我想在上述數據幀列「DIC」(如果存在的話)從詞典中提取元件「特徵3」。到目前爲止,我能夠解決它,但我不知道這是否是最快的方式,它似乎有點過於複雜。
Feature3=[]
for idx, row in df['dic'].iteritems():
l=row.keys()
if 'Feature3' in l:
Feature3.append(row['Feature3'])
else:
Feature3.append(None)
df['Feature3']=Feature3
print df
是否有更好/更快/更簡單的方法提取此Feature3以分隔數據框中的列?
非常感謝您的幫助。
還有就是要檢查這是你存儲在您的DF非標量值沒有向量化的方法,這是不明智的,因爲它它使過濾和查找困難,因爲你發現 – EdChum