开发者社区> 问答> 正文

如何循环时间戳并创建df

我正在尝试生成将被API接受的时间戳(看起来像字符串格式),然后遍历这些时间戳并创建DF。

这就是我现在所拥有的。

码:

cg = CoinGeckoAPI()
cs = 'bitcoin'

start_dti = '2017, 1, 1'
end_dti = '2019, 2, 1'
index = pd.date_range(start_dti, end_dti)

// missing a way to loop over this data
data = cg.get_coin_history_by_id(cs, index)

df_pr = pd_json.json_normalize(data['developer_data'])

df = pd.DataFrame(data=[{'date' : index,

                    cs: data['developer_data']['pull_request_contributors']}]).set_index('date')

我希望得到一个这样的表格:

       bitcoin

2017-01-01 380
2017-01-02 385
...
2019-02-01 1050

展开
收起
一码平川MACHEL 2019-02-28 11:31:35 2970 0
1 条回答
写回答
取消 提交回答
  • 你可以使用.date的str:

    In [11]: [str(d) for d in index.date]
    Out[11]: ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04', '2019-01-05', '2019-01-06', '2019-01-07', '2019-01-08', '2019-01-09', '2019-01-10', '2019-01-11', '2019-01-12', '2019-01-13', '2019-01-14', '2019-01-15', '2019-01-16', '2019-01-17', '2019-01-18', '2019-01-19', '2019-01-20', '2019-01-21', '2019-01-22', '2019-01-23', '2019-01-24', '2019-01-25', '2019-01-26', '2019-01-27', '2019-01-28', '2019-01-29', '2019-01-30', '2019-01-31', '2019-02-01']
    你可以使用apply,但我更喜欢使用dict:

    history = {}
    for d in index.date

    data = cg.get_coin_history_by_id(cs, str(d))
    history[d] = pd_json.json_normalize(data['developer_data']
    # etc?

    然后连接生成的DataFrames的dict。

    2019-07-17 23:29:40
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载