Я использую pandas для создания dataframe, и все в порядке, но у меня есть два столбца, в которых есть словари. Как разбить эти столбцы, чтобы извлечь стоимость и значение ставки.Python pandas, получающий значение словаря в столбце
AgainstSidePrices ForSidePrices
0 {u'_Price': 4.8, u'_Stake': 160.69} {u'_Price': 4.6, u'_Stake': 21.44}
1 {u'_Price': 4.8, u'_Stake': 5.69} {u'_Price': 4.7, u'_Stake': 4.0}
2 {u'_Price': 5.0, u'_Stake': 22.32} {u'_Price': 4.9, u'_Stake': 15.34}
3 {u'_Price': 5.6, u'_Stake': 15.18} {u'_Price': 5.4, u'_Stake': 14.82}
4 {u'_Price': 9.6, u'_Stake': 4.22} {u'_Price': 9.4, u'_Stake': 6.71}
5 {u'_Price': 12.5, u'_Stake': 4.0} {u'_Price': 11.5, u'_Stake': 12.35}
6 {u'_Price': 950.0, u'_Stake': 2.0} {u'_Price': 128.0, u'_Stake': 2.25}
7 NaN NaN
8 {u'_Price': 4.8, u'_Stake': 4.72} {u'_Price': 4.6, u'_Stake': 9.32}
9 {u'_Price': 4.9, u'_Stake': 2.0} {u'_Price': 4.7, u'_Stake': 3.92}
У меня есть решение для этого, но проблема возникает, когда существует NaN как линии 7.
table['price'] = table['AgainstSidePrices'].apply(lambda x: x.get('_Price'))
Можете ли вы помочь мне, пожалуйста?
так что вы просто хотите игнорировать «NaN»? 'table.loc [table ['AgainstSidePrices']. notnull(), 'AgainstSidePrices']. apply (lambda x: x.get ('_ Price'))' – EdChum
Спасибо. Все получилось. –