簡體   English   中英

Python:可從每一行提取數據的字典

[英]Python: Dictionary that will pull data from every row

我正在嘗試創建一個字典,該字典將為我提供插入鍵值的每個狀態的值。 這是我的代碼:

sat_partic = {'State': 'Participation'}

但這只是給了我在大括號中輸入的變量。

感謝您的幫助和建議。

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

完整答案:

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

但是,在很多情況下這不是必需的,因為可以將pd.Series.get與類似的功能一起使用。

例如,您可以使用:

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

然后使用d.get('Alabama')等檢索參與。

字典使用鍵值對。 因此,您可以將狀態用作鍵(每個狀態僅發生一次,對吧?),並將百分比用作值:

sat_partic = {"Alabama": 5, "Alaska": 38, "Arizona": 30, ...}

我不確定下面的代碼是否可以解決您的目的。 但是,我走了。 您可以使用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)

您能顯示理想的輸出嗎? 我不確定我是否理解得很好。 但...

為什么不使用熊貓庫並將州名稱更改為索引?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM