gpt4 book ai didi

python - 在 pandas 中过滤混合数据类型列会导致错误

转载 作者:行者123 更新时间:2023-12-01 06:47:26 28 4
gpt4 key购买 nike

我正在清理一个包含一些不规则内容的数据文件。我有一个像这样的值列表:

import numpy as np
import pandas as pd
dataset = pd.DataFrame.from_dict({'data':['1','2','3','Third Street',np.nan]})

我的目标是过滤掉“Third Street”列,同时保留 NaN 值。

dataset['data'].astype(int)
ValueError: invalid literal for int() with base 10: 'Third Street'

这很有意义,因为最后一个值无法转换为整数。

尝试过滤非数字列会过滤掉我想保留的 NaN 值:

digitFilter = dataset['data'].str.isdigit()
dataset[digitFilter]
ValueError: cannot index with vector containing NA / NaN values

我也尝试过堆叠过滤器,但 NaN 似乎也妨碍了这一点。当然,有一种我忽略的简单方法可以做到这一点。欣赏任何人可以提供的任何智慧。

最佳答案

您可以使用|(OR运算符)来检查值是否为数字或NaN

digitFilter = (dataset['data'].str.isdigit()) | (dataset['data'] == 'NaN')
dataset[digitFilter]

关于python - 在 pandas 中过滤混合数据类型列会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167729/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com