用pandas阅读csv,得到NA值

brgchamk  于 2023-06-04  发布在  其他
关注(0)|答案(1)|浏览(151)

当我想读取一个csv文件并且它在某个地方有一个NaN时,我如何在pandas中解决这个问题?
它返回:
ValueError:Integer列在第22列中具有NA值

def read_csv_file(filename):
    dtypes = {
        'transaction': int,
        'kev': int,
        'companyName': str,
        'companyOwner': str,
        'companyCountry': str,           
    }

    # Importar el archivo CSV especificando los tipos de datos
    data = pd.read_csv(filename, dtype=dtypes, na_values={'tradedate': -1})
    
    return data.to_dict('records')

问题是,我想标准化它,但我不知道所有数据类型或列中的哪一个会有这个问题

bqf10yzr

bqf10yzr1#

对于pandas,您可以使用.fillna()方法来处理NaN值。
如果你想用0填充数据集中的NaN,

data.fillna(0)

还有.ffill.bfill,它们可以向前或向后填充。
另一个值得一提的是.interpolate,默认情况下它会对缺失值进行线性插值。
同时尝试使用不同的数据类型,如Int64

相关问题