gpt4 book ai didi

python - pandas 使用列拆分作为新索引设置索引

转载 作者:太空宇宙 更新时间:2023-11-04 09:41:13 25 4
gpt4 key购买 nike

我有一个从第三方获得的数据框:

r = get_finance_rate([eq_opt_px.index[0],vol_opt_px.index[0]], expiry)

:

    ticker                          field           value
0 SPX US 08/17/2018 C2830.0 Index OPT_FINANCE_RT 2.004648
1 VXX US 08/17/2018 C27.0 Index OPT_FINANCE_RT 2.03248

由于返回的输出格式不符合我的需要,我想重置索引。我正在尝试做的事情的明显解决方案是

r['aux id'] = [x.split()[0] for x in r['ticker']]
r = r.set_index('aux id')

结果:

    ticker                          field           value
SPX SPX US 08/17/2018 C2830.0 Index OPT_FINANCE_RT 2.004648
VXX VXX US 08/17/2018 C27.0 Index OPT_FINANCE_RT 2.03248

但是我想做类似的事情

r = get_finance_rate([eq_opt_px.index[0],vol_opt_px.index[0]], expiry).set_index('ticker'.split(' ')[0])

前面的指令没有执行拆分

ticker                          field           value
SPX US 08/17/2018 C2830.0 Index OPT_FINANCE_RT 2.004648
VXX US 08/17/2018 C27.0 Index OPT_FINANCE_RT 2.03248

有没有一种方法可以在不创建临时列的情况下完成我想要的?

最佳答案

试试这个单线:

r = get_finance_rate([eq_opt_px.index[0],vol_opt_px.index[0]], expiry)\
.pipe(lambda x: x.set_index(x.ticker.str.split().str[0]).rename_axis('aux_id')

IIUC,你必须分两步完成:

r = get_finance_rate([eq_opt_px.index[0],vol_opt_px.index[0]], expiry)
r = r.set_index(r.ticker.str.split().str[0]).rename_axis('aux_id')

输出:

                                 ticker           field     value
aux_id
SPX SPX US 08/17/2018 C2830.0 Index OPT_FINANCE_RT 2.004648
VXX VXX US 08/17/2018 C27.0 Index OPT_FINANCE_RT 2.032480

关于python - pandas 使用列拆分作为新索引设置索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51616315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com