Pandas DataFrame转置索引和列

4

我有一个数据框,但其规模非常大。

        Sample  Taxonomy Count
    0   1       A        1 
    1   1       B        2
    2   1       C        5
    3   1       D        7
    4   2       B        1
    6   2       D        3
    7   2       E        4
    8   2       F        5      

我希望您能够提供以下内容的翻译:

我需要的结果如下:

    Taxonomy  A  B  C  D  E  F  G
    Sample 1: 1  2  5  7  NA NA NA  
    Sample 2: NA 1  NA 3  4  5  NA  

尝试将分类法作为索引,但每个样本仍然有每个分类法的副本,即使我使用DataFrame.transpose()进行转置,也无法得到期望的数据帧。


df.pivot(index='Sample', columns='Taxonomy', values='Count') df.pivot(index='样本', columns='分类法', values='计数') - MaxU - stand with Ukraine
1个回答

2
你可以使用 pivot
df = df.pivot(index='Sample', columns='Taxonomy', values='Count')
print (df)
Taxonomy    A    B    C    D    E    F
Sample                                
1         1.0  2.0  5.0  7.0  NaN  NaN
2         NaN  1.0  NaN  3.0  4.0  5.0

或者使用 set_indexunstack

df = df.set_index(['Sample','Taxonomy'])['Count'].unstack()
print (df)
Taxonomy    A    B    C    D    E    F
Sample                                
1         1.0  2.0  5.0  7.0  NaN  NaN
2         NaN  1.0  NaN  3.0  4.0  5.0

很高兴能帮助你。 - jezrael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接