我有一些数据集,包含以下列:order_code、city、weight。如何在每个城市内仅保留重量x介于该城市重量分布的5percentile和95percentile之间的包裹(类似于SQL中的窗口函数over(partition by city))?
df = pd.DataFrame({
'city': ['LA', 'Berlin', 'Hamburg', 'LA', 'Berlin', 'Hamburg', 'Tokyo', 'Hamburg', 'Berlin', 'Hamburg', 'Hamburg', 'Hamburg', 'Berlin', 'Hamburg', 'Berlin', 'Tokyo', 'Tokyo', 'Tokyo'],
'weight': [930,933,1577,1018,547,981,1672,598,995,1164,601,1429,1349,1000,618,539,880,1472]
})