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
如你所料
我需要按名为 "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
如你所料