当前位置: 首页 > 知识库问答 >
问题:

IsolationForest KeyError:"[索引([''], dtype='对象')]都不在[列]中"

蓬弘
2023-03-14

我正试图用IsolationForest实现我的第一个异常检测,但不幸的是它没有成功。

我有一个。csv文件,具有不同的网络参数,如ip。ttl,帧。莱恩等。

#Einlesen
quelle = pd.read_csv('./x.csv')
pdf=quelle.to_numpy()
print(quelle.columns)

索引([';ip.proto; ttl;frame.len;ip.src;ip.dst;ip.len;ip.flags;eth.src;eth.dst;eth.type;<--udp.port对象

print(quelle.shape)

(1658,1)

但是,当我尝试使用类似ip的列创建IsolationForest模型时。ttl或帧。len(其中一列),我得到一个错误

model=IsolationForest(n_estimators=50, max_samples='auto',contamination=float(0.1),max_features=1.0)
model.fit(quelle[['frame.len']])

KeyError:"[索引(['frame.len'], dtype='对象')]中没有[列]"

我的错在哪里?

提前谢谢

共有1个答案

伍弘盛
2023-03-14

dataframe有许多数据点,但只有一列。

print(quelle.shape)
(1658, 1)

当您将文件加载到数据框中时,它无法自动检测文件的正确分隔符,并且它没有读取每一列,而是将所有列打包到单个列中。

要解决此问题,应在读取文件时指定分隔符。

pd.read_csv('./x.csv', sep=';')
 类似资料:
  • 我试图根据我在github中找到的内容创建一个SVM模型,但它不断返回这个错误。 这是我的密码。 这些是csv文件的内容。 谢谢你。

  • 问题内容: 所有: 现在,我想获取一个标记了对象的列表。我该怎么办? 顺便说一句,如何在这里正式将变量称为“ a”?我知道到目前为止,它是对象的“对象标签”,但是我不知道它的术语是什么。 谢谢! 我为什么需要这个: 在其他语言(例如C)中,如果我重新分配a = 2,则a,b,c应该为2,但是在python中,没有诸如引用之类的东西,因此更改abc的所有值的唯一方法是a = b据我所知= = c =

  • 问题内容: 当我运行该函数时,它会引发以下错误,这是为什么呢? 问题答案: 显然,您正在传递给函数。可能是用python2.x编写的(返回列表时)。使用python3.x时,返回一个行为更像a而不是a的对象。因此,无法对其进行索引。 解决方案是将(或简单地)传递给。

  • 问题内容: 我有这个查询: 我收到以下错误: some_id是一个整数,但我想选择具有some_id = 1的指标(或任何我决定放入变量的#)。 问题答案: 这会将参数转换为可索引的列表。假设您的方法像我想的那样工作,这应该工作。 发生错误是因为该方法中的某个地方,它可能试图遍历该输入或直接对其进行索引。可能是这样的: 通过使其成为列表(或可迭代的),您就可以像这样将其索引到第一个元素中。 您还可

  • 有人可以解释为什么这段代码: 引发此错误: 我看到了这个答案,但我的专栏长度是相等的。

  • 问题内容: 我有点迷茫,无法做到最快。我有一大堆具有基本变量属性的对象(带有getters / setters方法),我需要在此列表中进行搜索以找到列表中与给定参数匹配的对象 我已经找到了如何进行常规列表搜索的方法,但是我需要进行搜索,例如搜索列表中每个对象的调用getName()的结果的值,并获取结果与我的输入匹配的对象。 如下所示,第三个参数是方法调用的结果,第二个是我要查找的结果。 任何建议