我有一個主要包含NaN的數據框,但也包含某些條目中的字典。我的目標是將這些字典擴展到數據框的各個列,並將它們的條目保存在各自的索引中。 這就是數據框的一小部分。用詞典展開數據框
_id _score
query
chrM:g.146T>C NaN NaN
chrM:g.11723C>T NaN NaN NaN NaN
chrM:g.11813A>G NaN NaN
chrM:g.12140T>A NaN NaN
... ... ...
chr1:g.11976370T>G {u'ref': u'T', u'alleles': [{u'allele': u'T', ... NaN
chr1:g.12007164A>G NaN NaN
chr1:g.12007165A>G NaN NaN
到目前爲止,我剛剛成功地挑選每個字典的按鍵,並添加用這些密鑰命名的列:以高效如何做到這一點
s ={}
for cols in cols:
if type(data1[cols].dropna()[0]) == type(s):
cols_var = np.array(data1[cols].dropna()[0].keys())
data1 = pandas.concat([data1,pandas.DataFrame(columns=cols_var)])
任何幫助或提示和可讀性將非常感謝。
**編輯:**此代碼:
y = pandas.Series((dbsnp.iloc[0]))
print y
但是有些檢索有用的東西:
allele_origin unspecified
alleles [{u'allele': u'G'}, {u'allele': u'A'}]
alt A
... ...
rsid rs201327123
vartype snp
dtype: object
我會嘗試從這裏工作,其他輸入是非常讚賞。
你能顯示完整的字典嗎?它看起來像嵌套。你想如何精確地擴展它? – IanS
你是對的。它是嵌套的,其他列也可以包含嵌套字典。以下是特定的一個: '{u'ref':u'G',u'alleles':[{u'allele':u'G'},{u'allele':u'A'} ],u'var_subtype':u'ts',u'allele_origin':u'unspecified',u'dbsnp_build':137,u'rsid':u'rs201327123',u'flags':[u'ASP', u'hg19':{u'stg':14677,u'end':14678},u'alt':u'A',u'validated':True,u'chrom':u '1',u'class':u'SNV',u'vartype':u'snp'}' –
您可以檢查我的解決方案並查看它是否適用於您? – IanS