2017-01-30 4 views
2

Каков наилучший способ изменить все значения во всем столбце?Python - применить изменения ко всему столбцу

Это то, что он выглядит следующим образом:

data.locations.head()  

0   [{'name': 'Chevy Chase, MD'}] 
1    [{'name': 'Irvine, CA'}] 
2 [{'name': 'San Francisco Bay Area'}] 
3     [{'name': 'Macon, GA'}] 
4    [{'name': 'Fremont, CA'}] 
Name: locations, dtype: object 

Я хочу, чтобы изменить его к этому:

0   [{'Chevy Chase, MD'}] 
1    [{'Irvine, CA'}] 
2 [{'San Francisco Bay Area'}] 
3     [{'Macon, GA'}] 
4    [{'Fremont, CA'}] 

ответ

3

Вы можете использовать apply с выбором первого dict в list по [0], а затем keyname:

print (df.locations.apply(lambda x: [{x[0]['name']}])) 
0   [{Chevy Chase, MD}] 
1    [{Irvine, CA}] 
2 [{San Francisco Bay Area}] 
3     [{Macon, GA}] 
4    [{Fremont, CA}] 
Name: locations, dtype: object 
+0

Он говорит 'IndexError: индекс индекса вне диапазона' – user2105555

+0

Что возвращает' print (df.locations [df.locations.apply (len) == 0]) '? – jezrael

+0

'12 []' 'Имя: location, dtype: object' – user2105555

 Смежные вопросы

  • Нет связанных вопросов^_^