我有一個資料框,它在特定列中具有 nan 或空單元格,例如列索引 2。不幸的是,我沒有子集。我只有索引。我想洗掉具有此功能的行。在stackoverflow中有太多使用子集的解決方案
這是例如資料框:
12 125 36 45 665
15 212 12 65 62
65 9 南 98 84
21 54 78 5 654
211 65 58 26 65
...
輸出:
12 125 36 45 665
15 212 12 65 62
21 54 78 5 654
211 65 58 26 65
uj5u.com熱心網友回復:
如果需要測驗第三列(索引 = 2),請使用boolean indexing
if nan
is missing valuenp.nan
或 string nan
:
idx = 2
df1 = df[df.iloc[:, idx].notna() & df.iloc[:, idx].ne('nan')]
#if no value is empty string or nan string or missing value NaN/None
#df1 = df[df.iloc[:, idx].notna() & ~df.iloc[:, idx].isin(['nan',''])]
print (df1)
0 1 2 3 4
0 12 125 36.0 45 665
1 15 212 12.0 65 62
3 21 54 78.0 5 654
4 211 65 58.0 26 65
如果nan
s 是缺失值:
df1 = df.dropna(subset=df.columns[[idx]])
print (df1)
0 1 2 3 4
0 12 125 36.0 45 665
1 15 212 12.0 65 62
3 21 54 78.0 5 654
4 211 65 58.0 26 65
uj5u.com熱心網友回復:
不知道你的意思
使用子集的解決方案太多
但這樣做的方法是
df[~df.isna().any(axis=1)]
uj5u.com熱心網友回復:
您可以使用 notnull()
df = df.loc[df[df.columns[idx]].notnull()]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505759.html
上一篇:創建具有缺失值的資料框
下一篇:特定行組合中的總和值