【问题标题】:Pandas DataFrame Transpose index and columnsPandas DataFrame 转置索引和列
【发布时间】:2016-12-18 19:11:19
【问题描述】:

我有一个如下的数据框,但规模很大

        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') ?

标签: python python-3.x pandas dataframe


【解决方案1】:

你可以使用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

【讨论】:

  • 很高兴能为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 2021-07-20
  • 1970-01-01
  • 2017-02-11
  • 2020-08-22
  • 2017-11-27
  • 2021-11-22
相关资源
最近更新 更多