【bug】python pandas KeyError: ‘index’
【bug】python pandas KeyError: 'index’
环境
pandas 2.2.3
问题详情
代码
import pandas as pd
# 创建一个示例 DataFrame
data = {
'id': [1, 2, 3],
'name': ['Alice', 'Bob', 'Charlie'],
'age': [100, 200, 300]
}
df = pd.DataFrame(data)
# 这里的reset_index()用于将 Series 的索引转换为 DataFrame 的列
a = df["age"].value_counts().reset_index()
print(a)
print(a["index"][0])
完整bug
Traceback (most recent call last):
File "t1.py", line 15, in <module>
print(a["index"][0])
File "C:\ProgramData\miniconda3\envs\playwright310\lib\site-packages\pandas\core\frame.py", line 4102, in __getitem__
indexer = self.columns.get_loc(key)
File "C:\ProgramData\miniconda3\envs\playwright310\lib\site-packages\pandas\core\indexes\base.py", line 3812, in get_loc
raise KeyError(key) from err
KeyError: 'index'
原因:这是由于 pandas 2.x
的reset_index()
得到的结果和pandas 1.x
不一样导致的。
对于 df["age"].value_counts().reset_index()
pandas 1.5.0 结果
"""
index age
0 100 1
1 200 1
2 300 1
"""
pandas 2.2.3 结果
"""
age count
0 100 1
1 200 1
2 300 1
"""
解决方法
方法1:将a["index"][0]
改为 a["age"][0]
.
方法2:将pandas
降级为1.x
版本,如我1.5.0版本没有弹出该bug。
原文地址:https://blog.csdn.net/qq_38463737/article/details/144313656
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!