如何在pandas数据框中提取字典列的值

时间:2019-03-31 13:13:09

标签: python pandas dataframe

我正在处理VCF文件格式,在以pandas数据帧获取数据之后,我的输出低于输出。

代码

df1=df['info_dict']
print df1

输出-

chr1  2337185                                {u'END': 2337193}
      2337194 {u'IDS': u'1026660,1026661', u'CUR': u'UNKNOWN'}
      2337195                                {u'END': 2337293}
      2337903                                {u'END': 2338125}
      2338126{u'IDS': u'652130,652129', u'CUR': u'KNOWN_BEN...
      2338127                                {u'END': 2338414}
      2339871                                {u'END': 2340199}

我只想获取第三列中IDS的值。

预期输出:

chr1  2337194 '1026660,1026661'
      2338126 '652130,652129'

1 个答案:

答案 0 :(得分:0)

使用.get从默认值为None的字典中获取值,如果不匹配,最后用Series.dropna删除None

s = df['info_dict'].apply(lambda x: x.get('IDS')).dropna()
print (s)
chr1  2337194    1026660,1026661
      2338126      652130,652129
Name: col, dtype: object