【发布时间】:2019-10-09 02:16:54
【问题描述】:
我是 python/pandas 的新手,我正在尝试遍历数据框的一列并打印所有美国州的缩写(以便从 Quandl 获取数据)。我不知道为什么我不能按数字选择列,并且 for 循环不会按名称遍历列。
fifty_states 数据框列表,fifty_states[0] 是我想要的特定数据框(50 行 x 13 列)。 print(fifty_states[0]['Abbreviation']) 给出了我感兴趣的列,但我的 for 循环肯定有缺陷,因为它只返回 'FMAC/HPI_Abbreviation'。
fifty_states=pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
for abbv in fifty_states[0]['Abbreviation']:
print("FMAC/HPI_"+str(abbv))
我尝试过按编号引用列,即fifty_states[0][0],但无论列号如何,都会返回我尝试的列号的KeyError,例如这里会说'KeyError:0'。
我期待这样的 50 行输出:
FMAC/HPI_AL
FMAC/HPI_AK
FMAC/HPI_AR
...
FMAC/HPI_WV
FMAC/HPI_WY
【问题讨论】:
-
看起来你在那里有一个多索引。您可以尝试使用以下命令访问这些值:
fifty_states[0]['Abbreviation'].values。但我不知道这是否适合您的解决方案。以下是您的计算方法:print(fifty_states[0].columns)