2013-11-04 39 views
3

我希望把这个数据帧试图做一个奇怪的TRANSPOSE(移调)与Python大熊猫

   x   K 
methane 0.006233 109.237632 
ethane 0.110002 6.189667 
propane 0.883765 0.770425 

弄成这个样子

  0.006233 0.110002 0.883765 
methane 109.237632   -   - 
ethane   - 6.189667   - 
propane   -   - 0.770425 

我一直对这个是否是做经常的事情和挖掘犹豫通过文档或我是否应该自己编写代码。我不知道我会怎么称呼这个操作。

+0

什么是置换函数?这是否应该适用于任意矩阵? – Jens

+0

这是关键。在[pandas](http://pandas.pydata.org/pandas-docs/stable/reshaping.html)中,[numpy](http://stackoverflow.com/questions/17028329/python-create-a-pivot -table) – alko

+0

我仍然很难找出这个问题(今天只是选择了熊猫)。枢轴需要一个索引,但我不能告诉它保持当前的(我认为无论哪个函数都会问我要把什么放在空白上 - 例如0与NA) – RodericDay

回答

4

感谢@RomanPekar测试的情况下,你可以转动:

>>> df = pd.DataFrame({'x':[0.006233,0.110002,0.883765], 'K':[109.237632,6.189667,0.770425]}, index=['methane','ethane','propane']) 
>>> df['name'] = df.index 
>>> df.pivot(index='name', columns='x', values='K') 
x   0.006233 0.110002 0.883765 
name 
ethane   NaN 6.189667  NaN 
methane 109.237632  NaN  NaN 
propane   NaN  NaN 0.770425 
+0

聪明,我试图找到一种方法以名称作为列。谢谢! – RodericDay

+0

@alko太棒了,如果我只是多了一点熊猫练习:)尝试枢轴,但不想添加索引作为列,并决定这是不可能做的关键 –