我有一个DataFrame,我想把数据嵌入到一个JavaScript可视化(这个来自Google Charts)。为了做到这一点,我想把内容嵌入到一个数组中。
[ 'A', 'X', 5 ],
[ 'B', 'X', 8 ]
sip
的第一列。所以我可以映射它,还有其他的,dip
和bytes
:
df["sip"].map(lambda st: "[ '" + str(st) + "', ")
df["dip"].map(lambda st: "'" + str(st) + "', ")
df["bytes"].map(lambda st: "'" + str(st) + "'], ")
现在我有一种感觉,至少可以说这是次优的。我需要遍历行,并像这样映射3列的字符串,并连接结果字符串,并删除最后一个,
。
有更聪明的方法吗?我无法想象我是第一个需要像Pandas这样的JavaScript数组的人。
我认为你可以先通过values
将DataFrame
转换为numpy array
,然后再转换为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'>