簡體   English   中英

根據名稱刪除 Dataframe 行

[英]Dropping Dataframe rows based on name

我有以下數據幀df ,我試圖刪除所有具有curv_typPYC_RTYCIF_RT

    curv_typ   maturity    bonds  2015M06D19   2015M06D18   2015M06D17   \
0     PYC_RT       Y1    GBAAA        -0.24        -0.25        -0.23   
1     PYC_RT       Y1  GBA_AAA        -0.05        -0.05        -0.05   
2     PYC_RT      Y10    GBAAA         0.89         0.92         0.94

我執行此操作的代碼如下。 但是,由於某種原因,運行以下代碼后df與上面的完全相同:

df = pd.DataFrame.from_csv("ECB.tsv", sep="\t", index_col=False)
df[df["curv_typ"] != "PYC_RT"]
df[df["curv_typ"] != "YCIF_RT"]

您需要將生成的DataFrame分配給原始DataFrame (因此,覆蓋它):

df = df[df["curv_typ"] != "PYC_RT"]
df = df[df["curv_typ"] != "YCIF_RT"]

使用isin並否定~掩碼的布爾條件:

In [76]:
df[~df['curv_typ'].isin(['PYC_RT', 'YCIF_RT'])]

Out[76]:
Empty DataFrame
Columns: [curv_typ, maturity, bonds, 2015M06D19, 2015M06D18, 2015M06D17]
Index: []

請注意,這不會在您的示例數據集上返回任何內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM