我正在开发一个我有xlsx记录的项目。有些记录有多个实例。像这样:
Id, Field 1, Field 2, Field 3
ABC01, 0.034, 0.044, 0.050
ABC01, 0.055, 0.065, 0.060
ABC01, 0.047, 0.082, 0.070
DEF02, 0.034, 0.044, 0.050
DEF02, 0.055, 0.065, 0.060
XYZ05, 0.047, 0.082, 0.070
我的目标是将具有字段3中最高值的每个实例的整行写入新的xlsx。我也希望复制非重复的记录。
到目前为止,我已经使用openpyxl迭代第一列来创建值列表。我已经为Field 3创建了一个值列表。我创建了一个重复ID值列表。最后,如果我有一个行号列表,我知道如何将行写入新的woorkbook。
我需要的是如何获取字段3中具有最高值的ID的行号列表。
谢谢!
答案 0 :(得分:1)
您可以考虑使用pandas。它支持Excel IO。
import pandas as pd
df = pd.read_excel("data.xlsx")
indices = df.groupby('Id')["Field 3"].idxmax()
deduped_df = df.ix[indices]
deduped_df.to_excel("deduped_data.xlsx")