我试图用多个级别来堆叠数据帧的行值,用一个级别来堆叠列值。原始数据帧如下所示(其中Time是df.columns中单个级别的名称):
Time +1hr +2hr +3hr ...
Cytokine Antibody Peptide Concentration
IFNg CD28 N4 1uM 0.1 0.2. 0.3.
TNFa. CD28. N4. 1uM 0.2 0.4. 0.6.
...
我正在尝试堆叠数据帧以获得如下输出:
Cytokine IFNg TNFa ...
Antibody Peptide Concentration Time
CD28 N4. 1uM +1hr 0.1. 0.2
CD28 N4. 1uM +2hr 0.2. 0.4
CD28 N4. 1uM +3hr 0.3. 0.6
...
不幸的是,df.stack()返回以下内容:
Time +1hr +2hr +3hr ...
Cytokine Antibody Peptide Concentration Time
IFNg CD28 N4. 1uM +1hr 0.1. na na
CD28 N4. 1uM +2hr na 0.2. na
CD28 N4. 1uM +3hr na na 0.3
TNFa CD28 N4. 1uM +1hr 0.2. na na
CD28 N4. 1uM +2hr na 0.4. na
CD28 N4. 1uM +3hr na na 0.6
...
尽管pandas文档说使用单级列堆叠数据帧将输出一个系列,但当我尝试堆叠时,最终会得到一个大数据帧(即使df.columns.nlevels返回1)。当我删除列级别(Time)的名称时,它可以正常工作,但我希望保留它。我能做些什么来让堆叠正常工作吗
我自己想出来了,但我想我还是把解决方案记录下来。如果直接为列值指定了单个级别的名称(例如df.columns.name='Time'),则堆叠工作正常。单级多条件不适用于df.stack()
相关问题 更多 >
编程相关推荐