我有如下数据框:
我想要删除 df['Type'] = 101 和 102 的成对值,其中 df['Qty'] 相互抵消。最终结果如下:
df = pd.DataFrame({'User':['a','a','a','b','b','b'],
'Type':['101','102','101','101','101','102'],
'Qty':[10, -10, 10, 30, 5, -5]})
我想要删除 df['Type'] = 101 和 102 的成对值,其中 df['Qty'] 相互抵消。最终结果如下:
df = pd.DataFrame({'User':['a','b'],
'Type':['101', '101'],
'Qty':[10, 30})
我尝试将负数转换为绝对值并删除重复项,代码如下:
df['Qty'] = df['Qty'].abs()
df.drop_duplicates(subset=['Qty'], keep='first')
但它错误地给我了这样的数据框:
df = pd.DataFrame({'User':['a','b', 'b'],
'Type':['101', '101', '101'],
'Qty':[10, 30, 5})
101
和102
两种类型吗?并且需要测试101
和102
类型吗? - jezraelkeep=False
而不是'first'
或'last'
。 - Tanzin Farhat