我有以下Pandas Dataframe df
ID from to
A 0x 0c
A 0x 0f
A 0f 0n
B 0f 0c
B 0c 0f
C 0k 0j
C 0j 0k
C 0k 0a
首先,我想按id
分组,并且仅当from
和to
的唯一值的数量之和小于3时才保留分组。
因此期望的DF将是
B 0f 0c
B 0c 0f
C 0k 0j
C 0j 0k
C 0k 0a
1条答案
按热度按时间aiazj4mn1#
如何使用groupby
filter
和lambda函数来确认from
和to
列中唯一值的数量小于或等于3?您可以使用DataFrame.stack()
作为一个hacky解决方案,将 Dataframe 中的所有值放入单个Series中,以便将Series.nunique()
用于:输出: