Python: словарь, который будет извлекать данные из каждой строки - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь создать словарь, который даст мне значения для каждого состояния, которое я вставляю в значение ключа. Вот мой код:

sat_partic = {'State': 'Participation'}

но это просто дает мне переменные, которые я ввел в фигурные скобки.

Я ценю вашу помощь и предложения.

        State   Participation   
0       Alabama     5%  
1       Alaska     38%  
2       Arizona    30%  
3       Arkansas   20%  
4       California 14%  

Ответы [ 4 ]

0 голосов
/ 02 мая 2018

Не могли бы вы показать желаемый результат? Я не уверен, правильно ли я понял. Но ...

Почему бы не использовать библиотеку панд и изменить имена состояний в индекс?

import pandas as pd

ser1 = pd.Series(['5%','38%','30%','20%','14%'],['Alabama','Alaska','Arizona','Arkansas','California'])

ser1[:]

Из:

Alabama        5%
Alaska        38%
Arizona       30%
Arkansas      20%
California    14%
dtype: object
0 голосов
/ 02 мая 2018

Полный ответ:

d = df.set_index('State')['Participation'].to_dict()

Однако во многих ситуациях это не является необходимым, поскольку вы можете использовать pd.Series.get с аналогичными функциями.

Например, вы можете использовать:

d = df.set_index('State')['Participation']

Затем используйте d.get('Alabama') и т. Д., Чтобы получить Участие.

0 голосов
/ 02 мая 2018

Я не совсем уверен, что приведенный ниже код решает вашу задачу. Но вот и я. Вы можете использовать namedtuple

from collections import namedtuple

columns = 'State Participation'

STAT_PARTIC = namedtuple('stat_partic', columns)

print (STAT_PARTIC._fields)
input_data = ['Alabama 5%', 'Alaska 38%', 'Arizona 30%', 'Arkansas 20%',
              'California 14%']

list_all_data = []

for line in input_data:
    data = line.split()
    stat_part = STAT_PARTIC(*data)
    list_all_data.append(stat_part)

print (list_all_data[0].State)
print (list_all_data[0].Participation)
0 голосов
/ 02 мая 2018

Словари используют пары ключ-значение. Таким образом, вы можете использовать состояния в качестве ключей (каждое состояние встречается только один раз, верно?) И проценты в качестве значений:

sat_partic = {"Alabama": 5, "Alaska": 38, "Arizona": 30, ...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...