[英]Pandas dropna on specific rows
import pandas as pd
df = pd.DataFrame({'ticker':['x','x','y','z','z'],
'bid':[1,2,np.nan,2,np.nan]})
使用 pandas .dropna()
是否可以從指定的索引范圍或數據子集中刪除行? 例如,在上面的 DataFrame 中,如果我只想在索引中刪除 ticker 等於'z'
行。 這有望返回:
ticker bid
x 1
x 2
y np.nan
z 2
一種選擇是分別檢查這兩個條件:
In [13]: df[(df['bid'].notnull()) | (df['ticker'] != 'z')]
Out[13]:
ticker bid
0 x 1.0
1 x 2.0
2 y NaN
3 z 2.0
df.loc[df.ticker == "z"] = df.loc[df.ticker == "z"].dropna()
df.dropna(subset=["ticker"])
不確定當我有更多列並且需要指定它們是否缺少 2 個 nan 時這是否更好(在第一次刪除中使用.dropna(thresh=2)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.