【问题标题】:Extract value in specific range提取特定范围内的值
【发布时间】:2022-01-28 16:14:28
【问题描述】:

我有一个包含多列的数据集: 数据-pioggia-name.....

我想在 pioggia 列中获取 0 到 400 之间的值。

我试过了:

start='0'
end='400'
data = (data['pioggia']>start)&(data['pioggia']<=end)

但我有错误:"&gt;" not supported between instances of 'str' and 'int'

我也试过了:

data = data['pioggia'].between(0,400, inclusive=True)

但我有同样的错误。

有什么解决办法吗?也可以用替换?

【问题讨论】:

  • data['pioggia']的数据类型是什么?
  • 类型为float64

标签: python pandas replace extract


【解决方案1】:

尝试添加这一行:

data['pioggia'] = data['pioggia'].astype(int)

另外,将startend 变量设为整数(例如0)而不是字符串(例如'0')。

像这样:

start = 0 # Notice this and `end` are ints, not strings
end = 400
data['pioggia'] = data['pioggia'].astype(int)

data = (data['pioggia']>start)&(data['pioggia']<=end)

【讨论】:

  • 我还有其他错误:无法将非有限值(NA 或 inf)转换为整数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多