我正在寻找一种方法来优化我的代码。从数据框中的列中提取字典值
我有条目数据以这种形式:
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