我在datacamp的“数据科学中级Python”。
>>> brics.loc[:]
country capital area population
BR Brazil Brasilia 8.516 200.40
RU Russia Moscow 17.100 143.50
IN India New Delhi 3.286 1252.00
CH China Beijing 9.597 1357.00
SA South Africa Pretoria 1.221 52.98
>>> brics.loc[:,['country','capital']]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/pandas/core/indexing.py", line 1294, in __getitem__
return self._getitem_tuple(key)
File "/usr/local/lib/python3.5/dist-packages/pandas/core/indexing.py", line 789, in _getitem_tuple
self._has_valid_tuple(tup)
File "/usr/local/lib/python3.5/dist-packages/pandas/core/indexing.py", line 142, in _has_valid_tuple
if not self._has_valid_type(k, i):
File "/usr/local/lib/python3.5/dist-packages/pandas/core/indexing.py", line 1379, in _has_valid_type
(key, self.obj._get_axis_name(axis)))
KeyError: "None of [['country', 'capital']] are in the [columns]"这是教科书索引,它昨晚起作用了,但今天不行。
>>> brics.iloc[1,1]
' Moscow'
>>> brics.iloc[1,2]
17.100000000000001就像我唯一被破坏的函数是loc();iloc()选择得很好。错误消息来自pandas,所以我用pip3重新安装了;它没有帮助,做了apt-get更新升级等,没有变化。
看起来由于某种原因,pandas没有在loc方法中正确解析我的字符串。
发布于 2021-10-08 13:43:40
在这里,我使用.loc编写了简单的代码,您可以看到以下代码
import pandas as pd
df = pd.DataFrame({'num_legs': [2, 4, 8, 0],'num_wings': [2, 0, 0, 0],'num_specimen_seen': [10, 2, 1, 8]},index=['falcon', 'dog', 'spider', 'fish'])
print(df.loc[:, 'num_legs':'num_wings'])它在mycase中起作用,你可以试试这个
https://stackoverflow.com/questions/39244466
复制相似问题