![](/img/trans.png)
[英]How to subset a dataframe by the number of nans in each row to the right of a select column in python?
[英]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.