簡體   English   中英

在熊貓的多個列中使用NaN值

[英]Working with NaN values in multiple columns in Pandas

我有多個具有不同行數和相同列數的數據集。 我想在每列中找到一個Nan值,例如考慮以下兩個數據集:

dataset1 :            dataset2:
a  b                  a    b
1  10                 2    11
2  9                  3    12
3  8                  4    13
4  nan                nan  14
5  nan                nan  15
6  nan                nan  16

我想在數據集a和b中找到一個nan值:如果它出現在b列中,則刪除所有具有nan值的行。 如果它出現在a列中,則用0填充該值。

這是我的代碼片段:

a=pd.notnull(data['a'].values.any())
b= pd.notnull((data[b'].values.any()))
if a:
     data = data.dropna(subset=['a'])
if b:
     data[['a']] = data[['a']].fillna(value=0)

這不能正常工作。

您只需要fillna和dropna而無需控制流程

data = data.dropna(subset=['b']).fillna(0)

將條件傳遞給字典

df=df.fillna({'a':0,'b':np.nan}).dropna()

您不需要在這里“ b”

df=df.fillna({'a':0}).dropna()

編輯:

df.fillna({'a':0}).dropna()
Out[1319]: 
     a   b
0  2.0  11
1  3.0  12
2  4.0  13
3  0.0  14
4  0.0  15
5  0.0  16

暫無
暫無

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

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