我需要通过名为“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()
,但它不起作用。
任何帮助都会非常感谢,谢谢。
答案 0 :(得分:7)
就像对此进行跟进一样,在进行分组时,实际上并不需要覆盖关键字。您可以在调用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
正如您所期望的那样