【问题标题】:Compare List element with a string in python pandas将List元素与python pandas中的字符串进行比较
【发布时间】:2018-02-08 23:17:08
【问题描述】:
_LIST=[]
J=1
for i,r in df.iterrows():
   _VAR=r["A"]
if (_VAR==_LIST[J-1]):

我只想将 _VAR 值与我在上次迭代中获得的列表中的值进行比较。 但在这条线上出现错误, “列表索引超出范围”

这里的“A”是数据框 df 中的一列。

【问题讨论】:

  • 您尚未使用任何元素初始化列表并尝试获取元素。这就是为什么,“列表索引超出范围”。更清楚你想要什么
  • 但如果我在 _list=[] 之后给出 _LIST[0]='' 我只会在该行出现错误
  • @gsamaras 当然。但我相信 OP 错过了他初始化列表的代码。否则很容易看出为什么会出现索引不足错误。这就是为什么我要求他说得更清楚。
  • 这段代码看起来很糟糕。为什么要这样命名变量?你到底想做什么?你应该只使用_Var.isin(_LIST)
  • 您的代码存在多个问题。 1)您的列表为空 2)您已初始化“J”,然后尝试使用“j-1” 3)您的命名约定不符合 PEP-8 甚至普遍接受的标准

标签: python list pandas for-loop if-statement


【解决方案1】:

您似乎正在访问不存在列表元素的索引

【讨论】:

    【解决方案2】:

    LIST 为空(因为您没有对其进行初始化或以任何方式填充),因此您要索引的元素不存在,这会导致您看到的错误。

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2023-03-04
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      相关资源
      最近更新 更多