首页 > 解决方案 > 计算重复值,删除重复并保留计数和其他列

问题描述

我正在从 excel 文件格式设置一个大约 10 000 行和 55 列的数据集。我选择要显示的相关列(数字和日期)。

现在,“数字”列有许多重复的值,我想计算然后删除重复项。同时我想显示使用该号码的最新日期。

举个例子:

Column 1 = Numbers [445, 446, 447, 449, 445, 451, 445, 466, 449, ...]
Column 2 = Date [4/26/2019,3/26/2019,3/15/2019,2/26/2019,12/26/2018,12/16/2018,11/26/2018,11/6/2018,11/01/2019,... ]

445和447是重复值;445在不同的日期被计算3次,449被计算2次。

我要创建的表是:

Column 1 = Numbers [445, 446, 447, 449, 451, 466, ...]
Column 2 = Date [4/26/2019,3/26/2019,3/15/2019,2/26/2019,12/16/2018,11/6/2018,,...]
Column 3 = Count [3,1,1,2,1,1,...]

即在新表中保留的日期是使用该号码的最晚日期。

import pandas as pd

data = pd.read_excel(r'ImportedFile.xlsx', header = 0)
df = data[['Number','Date']]
sold_total = df.pivot_table(index=['Number'], aggfunc='size')

下一步该做什么?谢谢

标签: pythonpandaspivot-tablelarge-data

解决方案


采用:

df['Count']=df.groupby('Column_1').transform('count')
df=df.drop_duplicates('Column_1')
print(df)

   Column_1   Column_2  Count
0       445 2019-04-26      3
1       446 2019-03-26      1
2       447 2019-03-15      1
3       449 2019-02-26      2
5       451 2018-12-16      1
7       466 2018-11-06      1

推荐阅读