繁体   English   中英

如何从csv文件的某些列中删除NaN值?

[英]How can I remove NaN values from some columns in a csv file?

我试图在python中的csv文件上做一些基本统计,我想做的是制作标题和特殊列的值的字典,但是有一些NaN值使我的代码出现以下错误

import csv
reader=csv.reader(f,delimiter=',')
import numpy as np
header=next(reader)
dataset=[]
  for line in reader:
d=dict(zip(header,line))
for field in ['Reviews','Rating']:
    np.isnan('Rating','Reviews')
    d[field]=int(float(d[field]))
    dataset.append(d)

我尝试使用numpy.isnan删除NaN值,但出现此错误

 return arrays must be of ArrayType

因此,如何删除NaN值?

不知道您的数据是什么样子,但我猜NaN值是字符串

你可以做

d=dict(zip(header,[l for l in line if l != "NaN"]))

当您阅读它们以删除NaN时

但最好将您的数据样本发布出来,以便我们实际上可以看到您正在使用什么

根据NaN值是NaN还是"NaN" ,可以使用:

NaN不是字符串:

df=df.dropna() #take rows from your dataframe that are finite or not equal to NaN as NaN.

NaN作为字符串“ NaN”:

df[(df != "Nan").all(1)] # take rows from your DataFrame that does not have any "NaN" value from any column

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM