我使用pandas从云中读取csv文件,使用replace()并希望0成为丢失的值,但它似乎不起作用。你知道吗
我用谷歌的colab
我试过两种方法:
user_data = user_data.replace(0,np.nan) # first
user_data.replace(0,np.nan,inplace = True) # second
user_data.head() # I use this to view the data.
但是数据和我第一次读的时候一样,0没有变化
下面是我读取的函数文件,我使用的是block方法
# Read function
def get_df2(file):
mydata2 = []
for chunk in pd.read_csv(file,chunksize=500000,header = None,sep='\t'):
mydata2.append(chunk)
user_data = pd.concat(mydata2,axis=0)
names2=['user_id','age','gender','area','status']
user_data.columns = names2
return user_data
# read
user_data_path = 'a_url'
user_data = get_df2(user_data_path)
user_data.head()
注意:我的代码不会报告错误,它会输出结果,但这不是我想要的
在这种情况下,Python会变得恼人。你知道吗
如前所述,这可能是因为0是字符串而不是整数。 可以由
但是,我想指出的是,在您知道什么样的数据应该位于数据帧的列中的场景中,您应该显式地将其设置为该类型,这样,每当出现这样的场景时,就会出现错误,并且您将确切地知道问题所在。你知道吗
在您的例子中,列是:
让我们假设
你可以告诉熊猫哪个列应该是哪个数据类型
还有许多其他方法可以做到这一点,如下面的answer中所述。选择适合你或你需要的。你知道吗
您的
0
可能只是字符串,请尝试使用:相关问题 更多 >
编程相关推荐