pandas 在python中使用panda过滤 Dataframe

ppcbkaq5  于 2022-12-16  发布在  Python
关注(0)|答案(1)|浏览(137)

我不明白为什么在尝试筛选列时总是收到类型错误消息。我有一个变量名为“data”的数据表,有一个列名为dur_seconds。
当我写下:

data["dur_seconds"] == 600

但当我尝试以下操作时:

data["dur_seconds"] > 600

我得到:

TypeError: '>' not supported between instances of 'str' and 'int'


希望有人能帮忙
我将数据类型更改为float64,但收到相同的错误消息
希望有人能帮忙

46qrfjad

46qrfjad1#

您可以将dur_seconds存储为一个对象,以便可以对其进行比较,但是您将无法使用int操作。
检查色谱柱类型

print(data.dtypes)

或者,强制将列中的数据转换为int。

data["dur_seconds"] = data["dur_seconds"].astype(int)

或者使用pandas.to_numeric。如果列中的数据无法转换为int,请将其转换为NaN,并将NaN替换为0或其他默认值。

data["dur_seconds"] = pd.to_numeric(data["dur_seconds"], errors='coerce')
data = data.replace(np.nan, 0, regex=True)
data["dur_seconds"] = data["dur_seconds"].astype(int)

相关问题