请问id相同的行超过50行,如果缩减为25行?

请问id相同的行超过50行,如果缩减为25行?python想用 if item["New_ID"] %2==0 的方式取奇数或者偶数,请问应该怎么写呀
image.png

newDf1 = pd.DataFrame(columns=['Time', 'eleCur',  'id'])
for key, item in df1.groupby(['id']):
    if item.shape[0] > 20 :
        if item["New_ID"] %2==0:
            item['id'] = key
            newDf1 = pd.concat([newDf1, item])
            print(key)
            print(item)
阅读 1.6k
1 个回答
新手上路,请多包涵

newDf1.insert(0, 'New_ID', range(1, 1 + len(newDf1)))
newDf2= pd.DataFrame(columns=['Time', 'eleCur', 'id'])
for key, item in newDf1.groupby(['id']):

item['id'] = key
if item.shape[0] > 4000:
    item = item[item["New_ID"] % 20 == 0]
elif item.shape[0] > 3000 :
    item = item[item["New_ID"] % 15 == 0]
elif item.shape[0] > 2500:
    item = item[item["New_ID"] % 12 == 0]
elif item.shape[0] > 2000 :
    item = item[item["New_ID"] % 10 == 0]
elif item.shape[0] > 1000 :
    item = item[item["New_ID"] % 8 == 0]
elif item.shape[0] > 500:
    item = item[item["New_ID"] % 5 == 0]
elif item.shape[0] > 50 :
    item = item[item["New_ID"] % 2 == 0]
else:
    item = item
newDf2 = pd.concat([newDf2, item])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题