![](/img/trans.png)
[英]how to iterate over pandas dataframe over multiple column groupBy in python
[英]How to do a groupby with a regex over a dataframe column in python?
我有一個名為clientesv的表數據框,其中包含名為COBERTURA的列,其值為:
clientesv.groupby('COBERTURA').size()
COBERTURA
A 9174
A3 1
B 1148
B0 179
B1 3922
B2 3
B3 1971
C 1511
C1 1065
C3 359
C4 145
C5 22
C6 87
C7 493
C8 174
D1 12
D2 16016
E 62
E1 5
M B 2751
M P 3080
M10 10281
M15 5187
M5 3765
dtype: int64
我想在 Groupby 中使用正則表達式進行總結,結果是:
A (total amount of A + A0)
B (total amount of B0, B1, B2, B3)
C etc
D
E
M
我試圖做這樣的事情:
clientesv.groupby(clientesv.COBERTURA.str.contains(r'\A', regex=True)).size()
但是這個表達式只總結了 A 的值,所以我不知道如何遵循......
嘗試^(\\D)
獲取字符串開頭的所有非數字字符。 value_counts
也比groupby().size()
快。
clientcsv.COBERTURA.str.extract('^(\D)+', expand=False).value_counts()
您可以創建一個僅包含第一個字母的 aux 列。
clientesv['new_label'] = clientesv.COBERTURA.str[0]
group_clients = clientesv.groupby('new_label')['COBERTURA'].agg('sum').reset_index()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.