Python | Pandas数据帧:高级切片/GroupBy
我一直在努力寻找熊猫已经有一段时间了,也许有人可以为这个问题提供一些新的线索:) 考虑取消以下数据帧,df:Python | Pandas数据帧:高级切片/GroupBy,python,pandas,dataframe,object-slicing,Python,Pandas,Dataframe,Object Slicing,我一直在努力寻找熊猫已经有一段时间了,也许有人可以为这个问题提供一些新的线索:) 考虑取消以下数据帧,df: Year Month Task TaskID TaskClass TaskClassID SomeValue 2019 11 A 1 X 10 6.58 2019 11 A 1 Y 20 1.58 2019 11 B 2 X 10
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 X 10 6.58
2019 11 A 1 Y 20 1.58
2019 11 B 2 X 10 6.58
2019 11 B 2 Y 20 1.58
目标:按任务分组,每个任务都有一个唯一的任务类观察(哪些任务有一个任务类对于这个问题并不重要,可以认为是随机的)。
像这样:
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 X 10 6.58
2019 11 B 2 Y 20 1.58
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 X 10 6.58
2019 11 A 1 Y 20 1.58
2019 11 A 1 Z 30 1.00
2019 11 A 1 W 40 0.25
2019 11 B 2 X 10 6.58
2019 11 B 2 Y 20 1.58
2019 11 B 2 Z 30 1.00
2019 11 B 2 W 40 0.25
或者,例如:
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 Y 20 1.58
2019 11 B 2 X 10 6.58
其他约束最后一个问题将有数千个任务,更重要的是,每个任务可以有更多的TaskClass,如下所示:
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 X 10 6.58
2019 11 B 2 Y 20 1.58
Year Month Task TaskID TaskClass TaskClassID SomeValue
2019 11 A 1 X 10 6.58
2019 11 A 1 Y 20 1.58
2019 11 A 1 Z 30 1.00
2019 11 A 1 W 40 0.25
2019 11 B 2 X 10 6.58
2019 11 B 2 Y 20 1.58
2019 11 B 2 Z 30 1.00
2019 11 B 2 W 40 0.25
提前谢谢大家。为什么不使用拖放副本 详情如下: 假设数据帧如下所示:
data = pd.DataFrame({
'Task Class': ['x', 'x', 'y', 'z', 'y', 'z'],
'Value' : [1, 2, 3, 4, 5, 6],
})
Task Class Value
0 x 1
1 x 2
2 y 3
3 z 4
4 y 5
5 z 6
我们可以做到:
data.drop_duplicates(['Task Class'], inplace=True)
并获得:
Task Class Value
0 x 1
2 y 3
3 z 4