1. 程式人生 > >pandas刪除包含指定內容的行

pandas刪除包含指定內容的行

Outline

處理資料時,遇到檔案中包含一些不需要的資料(行),需要把這些不符合要求的行給刪除掉。

例如:該資料中應該都是2000年的資料,但是包含了一些2001年的資料,所以需要把2001年的資料給刪除掉。

篩選出指定行

 找到所有包含2000年的資料:

source_df[(source_df['date'].map(lambda d: d.split('/')[0])).isin([‘2000’])] # source_df 為讀取的csv檔案物件

根據pandas中取反操作:”~“, 取出所有不包含2000年的資料:

source_df[~(source_df['date'].map(lambda
d: d.split('/')[0])).isin([year])]

刪除不合法資料

source_df.drop(source_df[~(source_df['date'].map(lambda d:d.split('/')[0])).isin([year])].index)  # 根據 drop和index 刪除包含2001的資料

刪除後DataFrame中就只包含2000年的資料