数据帧中值的计数频率

2024-04-27 12:34:51 发布

您现在位置:Python中文网/ 问答频道 /正文

有这个吗1.core.frame框架.数据帧:

Gorilla     A  T  C  C  A  G  C  T
Dog         G  G  G  C  A  A  C  T
Humano      A  T  G  G  A  T  C  T
Drosophila  A  A  G  C  A  A  C  C
Elefante    T  T  G  G  A  A  C  T
Mono        A  T  G  C  C  A  T  T
Unicornio   A  T  G  G  C  A  C  T

我想得到这样一个数据帧:

    A   5 1 0 0 5 5 0 0
    C   0 0 1 4 2 0 6 1
    G   1 1 6 3 0 1 0 0
    T   1 5 0 0 0 1 1 6 

基本上,我想要的是一列一列地计算frequent并创建第二个df,如我所示。你知道吗

我想这样做是因为最后,我想得到一个一致的字符串。应该是这样的

有谁能帮我或给我一些建议吗?你知道吗


Tags: 数据字符串core框架dfframe建议dog
2条回答

您可以按列使用Series.value_counts

print(df.iloc[:, 1:].apply(pd.Series.value_counts).fillna(0))

输出

     1    2    3    4    5    6    7    8
A  5.0  1.0  0.0  0.0  5.0  5.0  0.0  0.0
C  0.0  0.0  1.0  4.0  2.0  0.0  6.0  1.0
G  1.0  1.0  6.0  3.0  0.0  1.0  0.0  0.0
T  1.0  5.0  0.0  0.0  0.0  1.0  1.0  6.0

尝试:

result = df.apply(pd.value_counts).fillna(0)

   col1  col2  col3  col4  col5  col6  col7  col8
A   5.0   1.0   0.0   0.0   5.0   5.0   0.0   0.0
C   0.0   0.0   1.0   4.0   2.0   0.0   6.0   1.0
G   1.0   1.0   6.0   3.0   0.0   1.0   0.0   0.0
T   1.0   5.0   0.0   0.0   0.0   1.0   1.0   6.0

相关问题 更多 >