有没有最佳的解决方案?

2024-09-29 19:15:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大数据,包含:ID、年份、计划。如果某个特定程序(例如a)的年值(例如:2019>;2018)大于另一个程序(例如B),我想过滤掉ID。我有一个解决方案,但它涉及一个循环。我想知道还有没有别的办法。 我的代码:

unique = list(set(finalAD['ID']))
IDFiltered = []
for i in unique:
    data = finalAD[finalAD['ID'] == i]
    AD1 = data[data['Program'].str.match('AD')]
    ind = list(AD1.index.values)
    AD2 = data.drop(ind)
    date1 = AD1['Year'].max()
    date2 = AD2['Year'].min()
    if(date2 > date1):
        IDFiltered.append(i)

newData = finalAD[finalAD['ID'].isin(IDFiltered)]
newData.reset_index(drop = True, inplace = True)
newData.head()


Tags: 程序iddataindexyearlistdropunique

热门问题