![](/img/trans.png)
[英]Select rows with specific values in columns and include rows with NaN in pandas dataframe
[英]Pandas DataFrame indexing, Selecting rows with specific columns that are NaN values
考慮到我有一個熊貓數據框作為以下示例(實際數據集中有更多行/列):
| t1 | val1 | val2 | val3 | val4
------------------------------------
0| 1 | 1 | NaN | NaN | NaN
1| 2 | 12 | 5 | NaN | 4
2| 3 | 104 | 6 | NaN | NaN
3| 4 | -1 | 7 | 6 | NaN
4| 1 | -3 | 8 | 7 | 10
我只想提取其中t1 == 1且val2,val3和val4是NaN值的行,並且僅提取某些列。
例如,在上面的數據框中,我只想獲得第一行。
到目前為止,我已經嘗試了以下內容以及其中的一些變體:
我為我感興趣的列定義了標簽列表:
labels = [ 't1', 'val2', 'val3', 'val4']
然后,我運行以下代碼以獲取t1 == 1的所有值以及僅指定的列。
df2 = df.loc[df.t1 == 1, labels]
之后,我嘗試僅同時獲取val2,val3和val4為NaN的行。 我已經編寫了以下代碼,但它似乎不起作用:
df3 = df2.loc[df2[labels].isnull() == True, labels]
但它返回以下錯誤:
ValueError: Cannot index with multidimensional key
你知道出什么事了嗎 還是獲得我想要的結果的另一種方式?
提前致謝。
你應該all
使用
df2[df2[['val2','val3','val4']].isnull().all(1)]
Out[544]:
t1 val2 val3 val4
0 1 NaN NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.