pandas groupby - 分组中区分大小写的问题

pandas groupby - case sensitive issues in groups

我需要按名为 "Keyword" 的列对 DataFrame 进行分组,其中:

grouped = df.groupby('Keyword')

然后我正在搜索每个组的大小:

a = grouped.size()

结果是这样的:

Keyword
ATTORNEY            48
Appraiser           94
Attorney          1437
BASEBOARD            2
BELL PEPPER          1
BULLETIN BOARD       1
Bell Pepper         36
Bell pepper         19
Bulletin Board      20
Bulletin board       3
CANDY              765
CANDy                2
CANdy                1
...                ...

我想避免区分大小写的问题,并为 "CANDY, CANDy, CANdy" 等单词获得一个独特的组,这些单词仅在某些小写或大写字符上有所不同。我试图在分组前将此问题设置转义为 df['Keyword'].str.lower(),但它不起作用。 非常感谢任何帮助,谢谢。

作为对此的后续行动,您实际上不需要在进行分组时覆盖关键字。您可以改为在对 groupby

的调用中进行整个转换
grouped = df.groupby(df['Keyword'].str.lower())

因此,作为示例,您可以:

df = pandas.DataFrame({'Keyword': ['Attorney', 'ATTORNEY', 'foo'], 'x' : [1, 2, 42]})

df.groupby(df['Keyword'].str.lower()).sum()

输出:

           x
Keyword     
attorney   3
foo       42

如你所料