在python3和pandas中,我有一个数据框,每行包含有关法律程序的信息。你知道吗
“nome”列有人名,“tipo”列有诉讼类型,只有INQ
和AP
两种类型。你知道吗
而“resumo”栏目在法庭诉讼中有被调查起诉的罪行。但每个法律程序可能包括一项或多项罪行。罪行之间用“,”隔开:
Peculato, Lavagem de Dinheiro
Corrupção passiva, Ocultação de bens, Lavagem de dinheiro
Corrupção passiva, Lavagem de dinheiro, Crimes Eleitorais
Crimes Eleitorais, Lavagem de dinheiro
Peculato
Quadrilha ou Bando, Crimes da Lei de licitações, Peculato
我要数数:
For each name
Divided by INQ and AP processes
The appearance of each individual crime between ","
以上面的“resumo”列为例,假设它们都与“johndoe”有关。你知道吗
前两行是AP
类型,其余的INQ
,那么John Doe有:
1 AP for Peculato
2 AP for Lavagem de dinheiro
1 AP for Corrupção passiva
1 AP for Ocultação de bens
1 INQ for Corrupção passiva
2 INQ for Lavagem de dinheiro
2 INQ for Crimes Eleitorais
2 INQ for Peculato
1 INQ for Quadrilha ou Bando
1 INQ for Crimes da Lei de licitações
这些行的示例如下所示
df_selecao_atual[['tipo', 'resumo', 'nome']].head(5).to_dict()
{'tipo': {2: 'INQ', 3: 'AP', 4: 'INQ', 5: 'INQ', 6: 'AP'},
'resumo': {2: 'Desvio de verbas públicas',
3: 'Desvio de verbas públicas',
4: nan,
5: 'Prestação de contas rejeitada',
6: 'Peculato, Gestão fraudulenta'},
'nome': {2: 'CÉSAR MESSIAS',
3: 'CÉSAR MESSIAS',
4: 'FLAVIANO MELO',
5: 'FLAVIANO MELO',
6: 'FLAVIANO MELO'}}
在这个数据库中,我已经有了一个非常好的答案:In pandas, how to count items between commas, dividing between column types?
但现在我不仅要在屏幕上显示,还要创建一个数据帧。像这样:
nome tipo resumo count
Fulano de tal INQ Peculato 4
Fulano de tal INQ Ocultação de Bens 1
Fulano de tal INQ Corrupção ativa 2
Fulano de tal INQ Investigação Penal 3
Fulano de tal AP Peculato 1
Fulano de tal AP Corrupção passiva 2
Beltrano da Silva INQ Peculato 2
Beltrano da Silva INQ Lavagem de dinheiro 5
Beltrano da Silva AP Lavagem de dinheiro 1
拜托,有人知道我怎么创建这个数据帧吗?你知道吗
您可以通过^{} } 添加到原始列,然后使用} 进行计数:
resumo
列创建另一个DataFrame
并通过^{groupby
和^{如果要将
Counter
解决方案与上一个解决方案一起使用:与Jez几乎相同的逻辑是,将字符串更改为
list
,然后取消list
,然后我们只groupby
并创建计数相关问题 更多 >
编程相关推荐