python - Pandas 分层索引 - 不适用于数据框?

标签 python indexing pandas

我在处理 DataFrame 中的值时遇到问题,但 Series 对象似乎没有任何问题。

>>> df=DataFrame([0.5,1.5,2.5,3.5,4.5], index=[['a','a','b','b','b'],[1,2,1,2,3]])
>>> series=Series([0.5,1.5,2.5,3.5,4.5], index=[['a','a','b','b','b'],[1,2,1,2,3]])
>>> series['a']
1    0.5
2    1.5
dtype: float64
>>> df['a']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 2003, in __getitem__
    return self._get_item_cache(key)
  File "C:\Anaconda\lib\site-packages\pandas\core\generic.py", line 667, in _get_item_cache
values = self._data.get(item)
  File "C:\Anaconda\lib\site-packages\pandas\core\internals.py", line 1655, in get
_, block = self._find_block(item)
File "C:\Anaconda\lib\site-packages\pandas\core\internals.py", line 1935, in _find_block
self._check_have(item)
File "C:\Anaconda\lib\site-packages\pandas\core\internals.py", line 1942, in _check_have
raise KeyError('no item named %s' % com.pprint_thing(item))
KeyError: u'no item named a'

我肯定误解了什么,如果有人能帮助我,我将不胜感激!

最佳答案

您正在尝试选择一列,但确实没有名为“a”的列。请尝试使用 df.loc['a']

我建议查看基本索引文档:http://pandas.pydata.org/pandas-docs/stable/indexing.html#basics
总结:

  • series[label] 在索引 label
  • 处选择系列中的元素
  • dataframe[label] 选择名称为 label
  • 的列

关于python - Pandas 分层索引 - 不适用于数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20402598/

相关文章:

pandas - 返回pandas .value_counts() 中特定值的计数?

python - mod_wsgi + apache不是多线程的,为什么?

database - 为什么数据库不智能地创建它们需要的索引?

javascript - 动态jquery ui可排序 block 的索引/位置?

mysql - 查询仍然很慢

python - 如何使用 SQL 从秒列创建日期和小时列

python - 根据另一列中的字符串内容在 pandas 中创建类别列

python - "Convert"tk.ACTIVE 到列表框中的索引(行号)

python - 为什么这会发送这么多变量?

python - 如何使用 tcpdump 或从头开始编写一个模仿 Fiddler 的程序?