首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用embedpy将Q表转换为熊猫数据

使用embedpy将Q表转换为熊猫数据
EN

Stack Overflow用户
提问于 2018-07-30 23:58:51
回答 1查看 1.1K关注 0票数 1

我寻找一种将q/kdb表保存到拼花文件中的方法。我想出的最简单的方法是使用embedPy将Q表转换成熊猫数据格式。有人能做到这一点吗?

干杯,

迪迪埃

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 11:26:27

要将Q表转换为熊猫数据,可以使用以下函数:

代码语言:javascript
复制
tab2df:{
r:.p.import[`pandas;`:DataFrame;x][@;cols x];
$[count k:keys x;r[`:set_index]k;r]}

要将熊猫数据转换为Q表,可以使用以下函数:

代码语言:javascript
复制
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

见下面的示例

代码语言:javascript
复制
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"

希望这能帮上忙!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51603750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档