Python 中使用 pandas Dataframe 刪除重復的行 :
1、(可選)可以使用 duplicated( )函數判斷 是否有重復項
df.duplicated( )
輸出的是 布爾值 FALSE 、TRUE
2、有重復項,則可以用drop_duplicates()移除重復項
3、如上的1和2 中的duplicated( )和drop_duplicates( )方法是以默認的方式判斷全部的列。
也可以對特定的列進行重復項判斷,在括號中添加列名就可以了。如:
data_df_extractedReviews = pd.DataFrame({ 'userID': user_id_list, 'productID': product_id_list, 'overall': overall_list, # 'feature': feature_list, # 'opinion': opinion_list 'feature_opinion_sentiment_pair':feature_opinion_sentiment_pair }) # 這樣得到的 df 是含有重復 item的行的,而實際上item只有一個。所以, data_df_extractedReviews=data_df_extractedReviews.drop_duplicates('productID')
5. norepeat_df = df.drop_duplicates(subset=['A_ID', 'B_ID'], keep='first')
#上面的命令去掉UNIT_ID和KPI_ID列中重復的行,並保留重復出現的行中第一次出現的行
補充:
當keep=False時,就是去掉所有的重復行
當keep=‘first'時,就是保留第一次出現的重復行
當keep='last'時就是保留最后一次出現的重復行。
(注意,這里的參數是字符串,要加引號!!!)
最后的結果:
【Reference】
https://www.jb51.net/article/155577.htm