2017-05-15 1 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 

변환을 올바르게 할 수 있도록 열 이름을 첫 번째 행으로 바꾸십시오.

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 : rangelist 원래 열 이름으로 지정

답변

1

사용

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입니다

관련 문제