[英]Python Pandas - replace values with NAN in multiple columns based on mutliple dates?
[英]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.