加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python – 拆分字符串列,groupby和count字符

发布时间:2020-12-16 21:43:21 所属栏目:Python 来源:网络整理
导读:我有一个包含2列的数据集,如下所示: |group| |sequence|A BXA XB SFSB BCXB BSS*B1SA BBX 我想要一些方法来分组和找到每个角色的频率,得到这样的东西: |group| |char| |freq| A B 3 A X 3 B S 5 ... 最佳答案 您可以使用有效的基于重复的解决方案,然后使用

我有一个包含2列的数据集,如下所示:

|group| |sequence|
A        BX
A        X
B        SFS
B        BCX
B        BSS*B1S
A        BBX

我想要一些方法来分组和找到每个角色的频率,得到这样的东西:

 |group| |char| |freq|
 A       B       3
 A       X       3
 B       S       5
 ...
最佳答案
您可以使用有效的基于重复的解决方案,然后使用groupby:

from itertools import chain

# Step 1 - flatten your dataframe
df = pd.DataFrame({
    'group' : df['group'].repeat(df.sequence.str.len()),'char' : list(chain.from_iterable(df.sequence.tolist()))
})
# Step 2 - filter out characters and groupby on `group`
df[df.char.str.isalpha()].groupby(['group','char']).size().reset_index(name='freq')
  group char  freq
0     A    B     3
1     A    X     3
2     B    B     3
3     B    C     1
4     B    F     1
5     B    S     5
6     B    X     1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读