![](/img/trans.png)
[英]replace NaNs in the merged dataframe based on the condition --(Python,Pandas)
[英]Filtering nans on condition in pandas dataframe
我有一個像這樣的 dataframe:
COL1 COL2
0 1 2
1 1 NaN
2 2 6
3 2 8
4 3 10
5 3 NaN
6. 4 NaN
如您所見,Col1 中有重復值,我想要一個像這樣的 dataframe:
COL1 COL2
0 1 2
1 2 6
2 2 8
3 3 10
4 4 NaN
基本上,如果 col1 中的相同值在 col2 中具有 nan 值,那么我想刪除具有 NaN 值的行。 但是,如果這是 Col2 中唯一可用於 Col1 中的值的值,我不會嘗試將 NaN 值一起移動
因此,我知道我不能使用它:
new_table = old_table[~old_table['COL2'].isna())
因為這將刪除所有NaN
值,這不一定是我正在尋找的
您可以使用pandas.DataFrame.duplicated
. 與pandas.DataFrame.isna
:
>>> df[~(df.COL1.duplicated(keep=False) & df.COL2.isna())]
COL1 COL2
0 1 2.0
2 2 6.0
3 2 8.0
4 3 10.0
6 4 NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.