我知道关于这个错误已经有几个问题了。但在这种特殊情况下,我不确定是否已经有了解决我问题的方法。我有这部分代码,我想打印数据帧df的“y”列。发生以下错误:TypeError:只有整数标量数组才能转换为标量索引
labels=[]
xvectors=[]
for i in data:
labels.append(i[0])
xvectors.append(i[1])
X = np.array(xvectors)
y = np.array(labels)
feat_cols = [ 'xvec'+str(i) for i in range(X.shape[1]) ]
print(feat_cols)
df = pd.DataFrame(X,columns=[feat_cols])
df['y']= y
#df['label'] = df['y'].apply(lambda i: str(i))
print(df['y'])
X, y = None, None
可以打印整个数据帧。这看起来像:
xvec0 xvec1 xvec2 xvec3 xvec4 ... xvec508 xvec509 xvec510 xvec511 y
0 3.397163 -1.112423 0.414708 0.563083 1.371336 ... 1.201095 -0.076261 -0.620443 -1.231465 DA01_03
1 0.159473 1.884818 -1.511547 -0.153500 -0.635701 ... -1.217205 -1.922081 0.878613 0.087912 DA01_06
2 1.089404 0.331919 -1.027480 0.594129 -2.473234 ... -3.505570 -3.509632 -0.553128 -0.453307 DA01_10
3 0.183993 -1.741467 -0.142570 -3.158320 4.355789 ... 3.857311 3.142393 0.991663 -2.842322 DA01_14
这是整个错误消息:
print(df['y'])
File "/usr/local/lib/python3.7/dist-packages/pandas/core/frame.py", line 2958, in __getitem__
return self._get_item_cache(key)
File "/usr/local/lib/python3.7/dist-packages/pandas/core/generic.py", line 3270, in _get_item_cache
values = self._data.get(item)
File "/usr/local/lib/python3.7/dist-packages/pandas/core/internals/managers.py", line 960, in get
return self.iget(loc)
File "/usr/local/lib/python3.7/dist-packages/pandas/core/internals/managers.py", line 977, in iget
block = self.blocks[self._blknos[i]]
TypeError: only integer scalar arrays can be converted to a scalar index
我认为这与numpy阵列有关。提前谢谢你!
将列
参数作为列表中的列表传递(feat_cols
已经是列表类型)。这将使列标题变成二维:您可以看到df。info()
说它的范围从(xvec0,)
到。。。而不是xvec0
。
传递columns=feat\u cols
应该可以做到:-)
我正在尝试一个来自github链接的tensorflow的简单演示代码 我目前正在使用python版本3.5。2 我在命令行中尝试board.py时遇到了这个错误。我已经安装了运行此操作所需的所有依赖项。
我为这个问题制作了两个数组的简单示例:是一个一维数组,索引处有标签,对应于nD数组的相同索引。我获取标签2出现的所有索引,并希望检索中的值。 因此,如果我想要标签2,我得到索引0和3,这应该给我相应数组中索引0和3的值。 但是当我想调用我的函数时,我收到一个TypeError@。 我的职能:
我试着用pylot来模拟单摆。为此,我创建了类钟摆,在其中一个方法中,我不断得到相同的错误。 错误代码为: 文件“C:\Users\Lucas\Anaconda3\envs\Spyder\lib\site packages\numpy\core\fromnumeric.py”,第47行,在_wrapitresult=getattr(asarray(obj),method)中(*args,**kwd
我想从官方熊猫留档...DataFrame.fillna所以基本上用值1填充df数据框“myc”列中的NaN值。 数据帧 代码1 成果目标1 误差表第1页 代码2我后来还尝试列出any_feature列 错误2 尝试解决方案 Not dictionary - Pandas: Getting "TypeError: only integer scalar arrays can be converte
数据文件:pattern1.ktx 结果:TypeError:只能将整数标量数组转换为标量索引 看起来够简单?不过我不明白。如何解决这个问题?谢谢你。 这个怎么样? 同样的错误。如何修复?
我看到的代码是: 不同变量的值是: ID: 欠条: 阈值: