Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kdb 使用embedpy将q表转换为数据帧_Kdb - Fatal编程技术网

Kdb 使用embedpy将q表转换为数据帧

Kdb 使用embedpy将q表转换为数据帧,kdb,Kdb,我正在寻找一种将q/kdb表保存到拼花地板文件中的方法。我找到的最直接的方法是使用将q表转换为pandas数据帧。有人做到了这一点吗 干杯 didier要将q表转换为数据帧,可以使用以下功能: tab2df:{ r:.p.import[`pandas;`:DataFrame;x][@;cols x]; $[count k:keys x;r[`:set_index]k;r]} df2tab:{n:$[.p.isinstance[x`:index;.p.import[`pandas]`:Range

我正在寻找一种将q/kdb表保存到拼花地板文件中的方法。我找到的最直接的方法是使用将q表转换为pandas数据帧。有人做到了这一点吗

干杯


didier

要将q表转换为数据帧,可以使用以下功能:

tab2df:{
r:.p.import[`pandas;`:DataFrame;x][@;cols x];
$[count k:keys x;r[`:set_index]k;r]}
df2tab:{n:$[.p.isinstance[x`:index;.p.import[`pandas]`:RangeIndex]`;0;x[`:index.nlevels]`];n!flip $[n;x[`:reset_index][];x][`:to_dict;`list]`}
要将pandas数据帧转换为q表,可以使用以下功能:

tab2df:{
r:.p.import[`pandas;`:DataFrame;x][@;cols x];
$[count k:keys x;r[`:set_index]k;r]}
df2tab:{n:$[.p.isinstance[x`:index;.p.import[`pandas]`:RangeIndex]`;0;x[`:index.nlevels]`];n!flip $[n;x[`:reset_index][];x][`:to_dict;`list]`}
df2tab需要将数据帧转换为embedPy对象。您可以使用
.p.wrap

请参见下面的示例

q)\l p.q  
q)tab:([]a:10?10.;b:10?10;c:10?`aaa`bbb`ccc)
q)tab
   a         b c  
  ---------------
  1.086824  2 ccc
  9.598964  7 aaa
  0.3668341 8 aaa
  6.430982  5 ccc
  6.708738  6 aaa
  6.789082  4 bbb
  4.12317   1 aaa
  9.877844  3 aaa
  3.867353  3 aaa
  7.26781   7 ccc
q)tab2df[tab]
  {[f;x]embedPy[f;x]}[foreign]enlist
q)print tab2df[tab]
          a  b    c
0  1.086824  2  ccc
1  9.598964  7  aaa
2  0.366834  8  aaa
3  6.430982  5  ccc
4  6.708738  6  aaa
5  6.789082  4  bbb
6  4.123170  1  aaa
7  9.877844  3  aaa
8  3.867353  3  aaa
9  7.267810  7  ccc
q)pdtab:tab2df[tab]
q)df2tab[pdtab] 
  a         b c    
 -----------------
 1.086824  2 "ccc"
 9.598964  7 "aaa"
 0.3668341 8 "aaa"
 6.430982  5 "ccc"
 6.708738  6 "aaa"
 6.789082  4 "bbb"
 4.12317   1 "aaa"
 9.877844  3 "aaa"
 3.867353  3 "aaa"
 7.26781   7 "ccc"

希望这有帮助

要将q表转换为数据帧,可以使用以下功能:

tab2df:{
r:.p.import[`pandas;`:DataFrame;x][@;cols x];
$[count k:keys x;r[`:set_index]k;r]}
df2tab:{n:$[.p.isinstance[x`:index;.p.import[`pandas]`:RangeIndex]`;0;x[`:index.nlevels]`];n!flip $[n;x[`:reset_index][];x][`:to_dict;`list]`}
要将pandas数据帧转换为q表,可以使用以下功能:

tab2df:{
r:.p.import[`pandas;`:DataFrame;x][@;cols x];
$[count k:keys x;r[`:set_index]k;r]}
df2tab:{n:$[.p.isinstance[x`:index;.p.import[`pandas]`:RangeIndex]`;0;x[`:index.nlevels]`];n!flip $[n;x[`:reset_index][];x][`:to_dict;`list]`}
df2tab需要将数据帧转换为embedPy对象。您可以使用
.p.wrap

请参见下面的示例

q)\l p.q  
q)tab:([]a:10?10.;b:10?10;c:10?`aaa`bbb`ccc)
q)tab
   a         b c  
  ---------------
  1.086824  2 ccc
  9.598964  7 aaa
  0.3668341 8 aaa
  6.430982  5 ccc
  6.708738  6 aaa
  6.789082  4 bbb
  4.12317   1 aaa
  9.877844  3 aaa
  3.867353  3 aaa
  7.26781   7 ccc
q)tab2df[tab]
  {[f;x]embedPy[f;x]}[foreign]enlist
q)print tab2df[tab]
          a  b    c
0  1.086824  2  ccc
1  9.598964  7  aaa
2  0.366834  8  aaa
3  6.430982  5  ccc
4  6.708738  6  aaa
5  6.789082  4  bbb
6  4.123170  1  aaa
7  9.877844  3  aaa
8  3.867353  3  aaa
9  7.267810  7  ccc
q)pdtab:tab2df[tab]
q)df2tab[pdtab] 
  a         b c    
 -----------------
 1.086824  2 "ccc"
 9.598964  7 "aaa"
 0.3668341 8 "aaa"
 6.430982  5 "ccc"
 6.708738  6 "aaa"
 6.789082  4 "bbb"
 4.12317   1 "aaa"
 9.877844  3 "aaa"
 3.867353  3 "aaa"
 7.26781   7 "ccc"
希望这有帮助