簡體   English   中英

如何在Python的每一列中刪除NaN並獲得相同數量的值?

[英]How to drop NaNs and get the same number of values in each column in Python?

我正在建立一個線性回歸模型,以檢查該數據集中變量之間的關系。 它包含一些“ XXXXXXX”值,因此首先我將其替換為NaN:

df = df.replace(['XXXXXXX'], ['NaN'])

然后,我檢查了每列中值的數量:

df.count(axis=0)

似乎值的數量在列之間有所不同:

season            200
river size        200
fluid velocity    200
chemical_1        199
chemical_2        198
chemical_3        190
chemical_4        198
chemical_5        198
chemical_6        198
chemical_7        198
chemical_8        188
algae_1           183
algae_2           183
algae_3           183
algae_4           183
algae_5           200
algae_6           200
algae_7           183

如果我用諸如df = df.fillna(df.median(axis=0), axis=0)的中值填充NaN df = df.fillna(df.median(axis=0), axis=0)每列將獲得200個值,並且我可以進行進一步的分析。

但是,我想使用另一種方法並刪除NaN,以便每列具有相同數量的值。 當我嘗試df.dropna() ,每列中的值計數保持不同。 而且我無法進行回歸分析。

為了刪除NaN並使每列中的值數量相等,正確的方法是什么?

代替['NaN'] ,使用numpy.nan

import numpy as np
df = df.replace(['XXXXXXX'], np.nan)

然后df.dropna()應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM