我想过滤一个Pandas的数据框架。显然我可以用几个循环来完成,但是对于大量的数据来说效率不高,所以我想问一些关于如何做的想法。
我把数据组织成,
c1=t c2=detector(1,2,or3) c3
1 1
1 2
2 1
2 2
2 3
3 2
3 3
4 1
4 3
...
它可以看作是模拟c1=t
的次数,c2
是模拟的探测器类型,有时候你没有其中一个探测器的数据,所以我想把数据分成 Dataframe ,每个 Dataframe 对应相同的探测器次数。
第一列是索引递增列,第二列只能有3个值(1,2,3),我想将此 Dataframe 分为3个,
- 一个包含所有行,其中对于相同的
c1
,您有1和2个值 - 一个包含所有行,其中对于相同的
c1
,您有1和3个值 - 一个包含所有行,其中对于相同的
c1
,您有2个和3个值 - 最后一个包含所有三个值1,2,3
没有唯一的c1
行。
我想知道如何将是Python的方式来过滤这个 Dataframe 。
1条答案
按热度按时间zf9nrax11#
您可以聚合
set
,因此c2
中值的顺序并不重要:然后通过匹配集过滤
c1
:另一个想法是创建DataFrame字典: