0

我有一个 CUSIP 列表,我想收集使用 pdblp 的数据(https://matthewgilbert.github.io/pdblp/tutorial.html)。

例如:

CUSIP 列表(总共约 5,000 个):

/cusip/xxxxxxxxx, /cusip/yyyyyyyyy ...

con = pdblp.BCon(debug=False, port=8194, timeout=5000)
con.start()

con.ref(['/cusip/xxxxxxxxx', '/cusip/yyyyyyyyy'], ['Feature1', 'Feature2', 'Feature3',...])

这给了我一个数据框:

原始数据框

但是,我想创建一个数据框,其特征为列,CUSIP 为另一列或索引:

想要的数据框

我不确定 bdh 函数是否能得到我正在寻找的东西,因为它是用于历史数据(我正在寻找最新的)。我想我也可以创建一个长 DataFrame 并融化或旋转它?

4

1 回答 1

2

您可以创建一个数据透视表:

df = con.ref(['/cusip/xxxxxxxxx', '/cusip/yyyyyyyyy'], ['Feature1', 'Feature2', 'Feature3',...])
df.pivot(index='ticker', columns='field', values='value')

结果:

股票代码 特色1 特色2 特色3
/cusip/xxxxxxxxx 价值1 价值2 价值3
/cusip/yyyyyyyyy 价值1 价值2 价值3
于 2021-10-26T21:03:56.553 回答