如何用Pandas基于Date和Model列移除重复行并保留首条记录?
解决方案
使用Pandas的drop_duplicates()方法即可实现需求:指定按Date和Model两列去重,保留每组的第一条记录。
代码实现
import pandas as pd # 构造原始数据 data = { 'Date': ['9132022', '9132022', '9132022', '9132022', '9132022', '9142022', '9142022', '9142022', '9142022', '9142022'], 'Model': ['model6', 'model4', 'model6', 'model6', 'model6', 'model6', 'model4', 'model6', 'model6', 'model6'], 'High': [4.36000, 10.92000, 4.36000, 4.36000, 4.36000, 41.3600, 110.920, 41.3600, 41.3600, 41.3600], 'Low': [2.39, 2.87, 2.39, 2.39, 2.39, 21.39, 21.87, 21.39, 21.39, 21.39], 'Final': [3.10, 8.32, 3.73, 3.10, 2.47, 31.10, 81.32, 31.73, 31.10, 21.47] } df = pd.DataFrame(data, index=range(1, 11)) # 核心操作:按指定列去重,保留第一条 result_df = df.drop_duplicates(subset=['Date', 'Model'], keep='first') # 重置索引为连续的1、2、3、4 result_df = result_df.reset_index(drop=True) result_df.index = result_df.index + 1 # 输出结果 print(result_df)
最终输出
Date Model High Low Final 1 9132022 model6 4.36000 2.39 3.10 2 9132022 model4 10.92000 2.87 8.32 3 9142022 model6 41.36000 21.39 31.10 4 9142022 model4 110.92000 21.87 81.32
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

