2016-10-03 1 views
1

私はDataFrameを持っており、JavaScript視覚化(Google Chartsのthis one)にデータを埋め込みたいと考えています。これを行うために、私は配列に内容を埋めたいと思っています。DataFrameを反復せずに書式設定して出力できますか?

[ 'A', 'X', 5 ], 
[ 'B', 'X', 8 ] 

sipの最初の列。だから私はそれをマッピングすることができ、その他、dipbytes:これは、控えめに言っても、最適であることを

df["sip"].map(lambda st: "[ '" + str(st) + "', ") 
df["dip"].map(lambda st: "'" + str(st) + "', ") 
df["bytes"].map(lambda st: "'" + str(st) + "'], ") 

は今、私は感じています。私は行を繰り返し、3列のためにそのような文字列をマップし、結果の文字列を連結し、最後の,を削除する必要があります。

これを行うにはスマートな方法がありますか?私はPandasからこのようなJavaScript配列を必要とする最初の人だとは想像できません。

答えて

1

私は、あなたが最初にvaluesによってnumpy arrayDataFrameを変換しlistに変換することができると思う:

print (df) 
    sip dip bytes 
0 A X  5 
1 B X  8 

L = df.values.tolist() 
print (L) 
[['A', 'X', 5], ['B', 'X', 8]] 

print (type(L)) 
<class 'list'> 

もう一つの方法は、DataFrame.to_jsonです:

s = df.to_json(orient='values') 

print (s) 
[["A","X",5],["B","X",8]] 

print (type(s)) 
<class 'str'> 
関連する問題