我有以下熊猫数据框(简短示例)
EIN file_num year
0 46012492 838 2017
1 46012492 1790 2016
2 46012492 3757 2015
3 46012492 4536 2014
4 46012492 6187 2013
.. ... ... ...
559 980634789 5095 2015
560 980634789 5653 2014
561 980634789 5800 2014
562 980634789 6750 2013
563 980634789 8133 2012
我需要删除具有相同EIN和相同年份的文件。因此,例如,您可以看到行560和561包含EIN为980634789
且年份为2014
的文件。我需要删除其中之一(这并不重要,但最好是file_num
最小的那个。
我该怎么做?谢谢!
答案 0 :(得分:1)
首先,您需要sort_values,然后是drop_duplicates
:
function myFunction() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Sheet1');
const parsed = parseInt(sheet.getRange('C3:C330').getValue());
if (isNaN(parsed)) {
return 0;
}
return parsed * -100;
}
答案 1 :(得分:1)
您可以使用pandas.DataFrame.drop_duplicates
。
如果您不介意保留哪一个:
df.drop_duplicates(subset=["EIN", "year"])
如果您想保留最小的file_num:
df = df.sort_values(by=["file_num"])
df.drop_duplicates(subset=["EIN", "year"], keep="first")