With Pandas In Python, Select Only The Rows Where Group By Group Count Is 1
I've filtered my data as suggested here: With Pandas in Python, select the highest value row for each group     author        cat  val 0  author1  category2   15 1  author2  catego
Solution 1:
Easier
df.groupby('author').filter(lambda x: len(x)==1)
     author        cat  val
id0   author1  category2   151   author2  category4    9Solution 2:
my solution is a bit more complex but still working
def groupbyOneOccurrence(df):
    grouped = df.groupby("author")
    retDf = pd.DataFrame()
    forgroupin grouped:
        iflen(group[1]._get_values) == 1:
            retDf = pd.concat([retDf, group[1]])
    return retDf
author        cat val
0  author1  category2  151  author2  category4   9
Post a Comment for "With Pandas In Python, Select Only The Rows Where Group By Group Count Is 1"