我想计算另一列中按逗号分隔值分组的一列的计数。
该表如下所示:
ColumnA ColumnB
A,B,C P1
A,C P1
A,C P2
D P3
Run Code Online (Sandbox Code Playgroud)
输出应如下所示:
P1 A 2
B 1
C 2
P2 A 1
C 1
P3 D 1
Run Code Online (Sandbox Code Playgroud)
我试过的代码是这样的:
new_df = (new_df.set_index('ColumnB')['ColumnA'].str.split(',', expand=True).stack().reset_index(name='ColumnA').groupby('ColumnA'))
Run Code Online (Sandbox Code Playgroud)
无法找出正确的语法。
添加GroupBy.size为Series with MultiIndex:
new_df = (new_df.set_index('ColumnB')['ColumnA']
.str.split(',', expand=True)
.stack()).reset_index(name='ColumnA')
.groupby(['ColumnB','ColumnA'])
.size())
print (new_df)
ColumnB ColumnA
P1 A 2
B 1
C 2
P2 A 1
C 1
P3 D 1
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29 次 |
| 最近记录: |