2017-05-15 6 views
1

次のデータフレームをjsonに変換したいと思います。私は、カラムとインデックスにユニークな名前を持っている必要があります機能df.to_json()を使って、そうするためには列名を最初の行に変換します

df: 
           A sector B  sector C  sector        
TTM Ratio                  --   35.99   12.70  20.63  14.75      23.06 
RRM Sales              --  114.57    1.51   5.02   1.00    4594.13 
MQR book            1.48    2.64    1.02   2.46   2.73       2.74 
TTR cash           --   14.33    7.41  15.35   8.59  513854.86 

私が探しているのは、列名を行に変換し、デフォルトの列番号を持つことです。私は正しく変換を行うことができ、最初の行に列名を回す

df: 
           0  1  2  3  4  5 
           A sector B  sector C  sector        
TTM Ratio                  --   35.99   12.70  20.63  14.75      23.06 
RRM Sales              --  114.57    1.51   5.02   1.00    4594.13 
MQR book            1.48    2.64    1.02   2.46   2.73       2.74 
TTR cash           --   14.33    7.41  15.35   8.59  513854.86 

:一言で言えば、私は次のような出力をしたいと思います。

答えて

1

利用rangelistと元の列名で割り当てる:

print (range(len(df.columns))) 
range(0, 6) 

#for python2 list can be omit 
df.columns = [list(range(len(df.columns))), df.columns] 

またはMultiIndex.from_arrays

print (pd.RangeIndex(len(df.columns))) 
RangeIndex(start=0, stop=6, step=1) 

df.columns = pd.MultiIndex.from_arrays([pd.RangeIndex(len(df.columns)), df.columns]) 
print (df) 
       0  1  2  3  4   5 
       A sector  B sector  C  sector 
TTM Ratio -- 35.99 12.70 20.63 14.75  23.06 
RRM Sales -- 114.57 1.51  5.02 1.00 4594.13 
MQR book 1.48 2.64 1.02  2.46 2.73  2.74 
TTR cash  -- 14.33 7.41 15.35 8.59 513854.86 

df.columns = pd.MultiIndex.from_arrays([range(len(df.columns)), df.columns]) 

も可能使用RangeIndexがあります

関連する問題