- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试将情绪从一个数据集映射到另一个数据集,并删除当前数据集中大于 6 的所有内容。我应该如何修复此错误?
import pandas as pd
csv_file = 'sample.csv'
count = 1
my_filtered_csv = pd.read_csv(csv_file, usecols=['subDirectory_filePath', 'expression'])
#my_filtered_csv['expression'] = my_filtered_csv['expression'].map({ '0':'6', '1':'3', '2':'4', '3':'5', '4':'2', '5':'1', '6':'0'})
df = pd.DataFrame(columns=['subDirectory_filePath', 'expression'])
print(my_filtered_csv.dtypes.index)
filtered_csv = my_filtered_csv[my_filtered_csv.expression <= 6 ]
for i in range(len(filtered_csv['expression'])):
if filtered_csv['expression'][i]==0:
filtered_csv['expression'][i] = 6
elif filtered_csv['expression'][i]==1:
filtered_csv['expression'][i] = 3
elif filtered_csv['expression'][i]==2:
filtered_csv['expression'][i] = 4
elif filtered_csv['expression'][i]==3:
filtered_csv['expression'][i] = 5
elif filtered_csv['expression'][i]==4:
filtered_csv['expression'][i] = 2
elif filtered_csv['expression'][i]==5:
filtered_csv['expression'][i] = 1
elif filtered_csv['expression'][i]==6:
filtered_csv['expression'][i] = 0
print(len(my_filtered_csv))
print('****')
for val in df['expression']:
print(val)
emotion_map = { '0':'6', '1':'3', '2':'4', '3':'5', '4':'2', '5':'1', '6':'0'}
print(emotion_map)
for key, value in emotion_map.items():
print(key,' : ', value)
'''
affectnet
0: Neutral,
1: Happiness,
2: Sadness,
3: Surprise,
4: Fear,
5: Disgust,
6: Anger,
7: Contempt,
8: None,
9: Uncertain,
10: No-Face
FER13
(0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral).
0-->6
1-->3
2-->4
3-->5
4-->2
5-->1
6-->0
'''
错误是:
Index(['subDirectory_filePath', 'expression'], dtype='object')
Traceback (most recent call last):
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/series.py", line 778, in _set_with_engine
self.index._engine.set_value(values, key, value)
File "pandas/_libs/index.pyx", line 116, in pandas._libs.index.IndexEngine.set_value
File "pandas/_libs/index.pyx", line 124, in pandas._libs.index.IndexEngine.set_value
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1210, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1218, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2442, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1210, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1218, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/series.py", line 719, in setitem
self._set_with_engine(key, value)
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/series.py", line 781, in _set_with_engine
values[self.index.get_loc(key)] = value
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2444, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1210, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1218, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/mona/CS585/project/affnet/emotion_map.py", line 17, in <module>
df['expression'][i] = 3
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/series.py", line 771, in __setitem__
setitem(key, value)
File "/Users/mona/anaconda/lib/python3.6/site-packages/pandas/core/series.py", line 728, in setitem
values[key] = value
IndexError: index 0 is out of bounds for axis 0 with size 0
Process finished with exit code 1
cvs 的几行是:
,subDirectory_filePath,expression
0,689/737db2483489148d783ef278f43f486c0a97e140fc4b6b61b84363ca.jpg,1
1,392/c4db2f9b7e4b422d14b6e038f0cdc3ecee239b55326e9181ee4520f9.jpg,0
2,468/21772b68dc8c2a11678c8739eca33adb6ccc658600e4da2224080603.jpg,0
3,944/06e9ae8d3b240eb68fa60534783eacafce2def60a86042f9b7d59544.jpg,1
4,993/02e06ee5521958b4042dd73abb444220609d96f57b1689abbe87c024.jpg,8
最佳答案
我认为此错误来自您的 [i]
表示法,它试图查找不存在的 DataFrame 索引值 0。尝试将 [i]
的每个实例替换为 .iloc[i]
。
此外,您应该能够用更紧凑、可读且不易出错的代码替换 for 循环,特别是因为您定义了 emotion_map
但仅将其用于输出。尝试使用 emotion_map = { 0:6, 1:3, 2:4, 3:5, 4:2, 5:1, 6:0}
将映射从字符串更改为整数,然后移动它就在 filtered_csv = ...
下,并将 for
循环替换为
filtered_csv['expression'] = filtered_csv['expression'].replace(emotion_map)
关于python - Pandas ._libs.hashtable.PyObjectHashTable.get_item KeyError : 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47603430/
我无法导入 Pandas C:\Users\Yash\Desktop\Python\Twitter Sentimental Analysis>python import.py Traceback (
我已经浪费了几个小时试图解决这个问题,所以我想是时候问问某人/某人了。 我(认为)我已经卸载了与 python 相关的所有内容然后再次安装。我刚安装 python最新版本和使用过的 pip安装 pan
我想将此时间戳对象转换为日期时间此对象是在数据帧上使用 asfreq 后获得的这是最后一个索引 Timestamp('2018-12-01 00:00:00', freq='MS') 想要的输出 2
我发现了几个关于同一问题的问题 here和 here from pyfinance.ols import PandasRollingOLS 我收到以下错误: Traceback (most recen
我正在使用 pythonanywere.com 来部署我的 Django 应用程序。所以我在那个虚拟环境中安装了一些机器学习库。 (venv) 19:16 ~ $ pip3 list Package
我正在尝试从 Analytics Vidhya 做贷款预测的机器学习练习题。当我使用随机森林分类器时,它显示: TypeError:float() argument must be a string
我是 Python 的新手,正在使用 Windows 10 上的 Anaconda 来学习如何实现机器学习。在 Spyder 上运行这段代码: import sklearn as skl 最初给我的是
我正在尝试将情绪从一个数据集映射到另一个数据集,并删除当前数据集中大于 6 的所有内容。我应该如何修复此错误? import pandas as pd csv_file = 'sample.csv'
我正在尝试使用 Windows 的 PyInstaller(开发版)将 Python 脚本包装到 exe 中。 脚本使用 Pandas,我在运行 exe 时遇到了错误。 Traceback (most
我在 Spyder 4.2.1 上使用 pandas 包时遇到问题。 目前使用: MacOS Big Sur ver. 11.2 Python 3.9 Spyder 4.2.1 python 2020
每当我尝试导入 pandas 时,无论是在 virtualenv 中还是其他地方,我总是会收到此错误。 Python 3.6.2 |Anaconda custom (64-bit)| (default
然后我想将 --system-site-packages 参数与 virtualenvwrapper 一起使用。但是我有一个 SSL 错误: $ mkvirtualenv --system-site-
我是 Python 的学习者。执行我的脚本时出现问题。Pyinstaller 打包时显示 failed to execute script due to ModuleNotFoundError: No
在我尝试导入 cuml 库之前,我已经在 Colab 中安装了 RAPIDS,没有任何问题。 幸运的是,我有 Tesla 4 作为 GPU。 这就是我安装 RAPIDS 的方式 # clone RAP
我有一个 pandas 'Time' 列,其值格式为 4/7/2013字符串类型。我正在尝试将整个列转换为 datetime.datetime 格式。我使用了以下代码- df3['Date'] =
我正在尝试编译我们的代码 https://bitbucket.org/OES_muni/massiveoes从 python 2.7 升级到 3.6 并同时移动到 scipy 1.0.0 后使用 py
当我用 php bin/magento setup:static-content:deploy 编译静态时,我收到以下错误: Unable to get content for 'frontend/M
我为卷积神经网络创建了一个 tkinter 应用程序来识别图像。我正在尝试使用 pyinstaller 编译 py 文件,但收到此错误: AttributeError:类型对象“pandas._lib
我在训练 LR 模型时使用 sklearn2pmml.preprocessing.CutTransformer 和 sklearn.preprocessing.LabelEncoder 对目标进行编码
早上好,我已经使用 python 大约一年半了,我发现自己面临着一个我无法解决的基本问题。 我有一个简单的数据框 (df),不大(大约 12k 行和 10 列),其中包括一列是“datetime64[
我是一名优秀的程序员,十分优秀!