2012-11-29 2 views

답변

0

판다 데이터 프레임을 gviz 데이터 테이블로 변환하는 간단한 방법을 모르겠습니다. 여기

이다 나는 그것을 할 방법 : - iterrows 당신이 NumPy와 개체로 dataframe (배열의 배열 - 한 각 행에 대해)을 얻을 수 .values를 사용할 수있는 목록을 사용하는 대신

from gviz_data_table import Table # using https://bitbucket.org/charlie_x/gviz-data-table though you should probably use the official google one. 
import numpy as np 
import pandas as pd 

df = pd.DataFrame({ 
    "time" : [1,2,3,4,5], 
    "temp" : np.random.rand(5) 
}) 

table = Table() 
table.add_column('temp', float, 'Temp') 
table.add_column('time', float, 'Time') 

for row in df.iterrows(): 
    table.append(row[1].tolist()) 

table.rows 

[OrderedDict([('temp', <gviz_data_table.cell.Cell object at 0x104a64aa0>), ('time', <gviz_data_table.cell.Cell object at 0x104a64a50>)]), 
OrderedDict([('temp', <gviz_data_table.cell.Cell object at 0x104a64af0>), ('time', <gviz_data_table.cell.Cell object at 0x104a64b40>)]), 
OrderedDict([('temp', <gviz_data_table.cell.Cell object at 0x104a64b90>), ('time', <gviz_data_table.cell.Cell object at 0x104a64be0>)]), 
OrderedDict([('temp', <gviz_data_table.cell.Cell object at 0x104a64c30>), ('time', <gviz_data_table.cell.Cell object at 0x104a64c80>)]), 
OrderedDict([('temp', <gviz_data_table.cell.Cell object at 0x104a64cd0>), ('time', <gviz_data_table.cell.Cell object at 0x104a64d20>)])] 
0

는) 나를 과정을 완료하고

  • 는 설명
  • 사용 gviz_api의 LoadData에게 (설정된 GViz 테이블에이를 켜려면 thod 값을로드합니다.

코드 예

#set up Google Table w/ the description 
gpa_desc=[("grade_date", "date", "Date"), 
      ("gpa", "number", "GPA")] 
gpa_data_table=gviz_api.DataTable(gpa_desc) 

#your df as a numpy object 
gpa_values=df_gpa.values 

#populate the table with your data 
gpa_data_table.LoadData(gpa_values) 

#convert to json to pass to the view 
gpa_json=gpa_data_table.ToJSon() 
관련 문제