#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
Я работаю над форматом файла VCF, после получения данных в pandas dataframe я получаю вывод ниже.
Код
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}
Я хочу получать только значения идентификаторов, которые находятся в третьем столбце.
Ожидаемый результат:
chr1 2337194 '1026660,1026661'
2338126 '652130,652129'
Ответ №1:
Используйте .get
для получения значения из dict со значением по умолчанию, None
если не совпадает, последний раз удалите None
s с помощью Series.dropna
:
s = df['info_dict'].apply(lambda x: x.get('IDS')).dropna()
print (s)
chr1 2337194 1026660,1026661
2338126 652130,652129
Name: col, dtype: object