【问题标题】:Custom index for dataframe数据框的自定义索引
【发布时间】:2021-07-03 10:28:39
【问题描述】:

我有一个数据框:

   1/3/2011  4/1/2021  3/31/2021  ...  1/6/2011  1/5/2011  1/4/2011
0   0.424247  0.209943   0.209942  ...  0.494431  0.478675  0.442692
1   0.428014  0.210241   0.210241  ...  0.499361  0.484653  0.446848
2   1.127805  0.356723   0.362666  ...  1.332204  1.339620  1.178887
3   2.220437  0.913629   0.949701  ...  2.366291  1.942443  2.209880
4   3.213573  1.556866   1.624042  ...  3.312162  3.151239  3.213159
5   4.025311  2.030883   2.105356  ...  4.069105  4.866949  4.019084
6   4.555883  2.315257   2.397099  ...  4.601537  4.717146  4.527070
7   4.803622  2.447491   2.529781  ...  4.847289  4.939370  4.784244
8   4.982618  2.528838   2.605640  ...  5.006495  5.110961  4.936500
9   5.049444  2.548326   2.641850  ...  5.096861  5.214397  5.045123
10  5.183262  2.588166   2.668743  ...  5.207816  5.301237  5.166312
11  5.227674  2.624253   2.703215  ...  5.276020  5.367465  5.241496
12  5.247942  2.633068   2.716046  ...  5.318237  5.399149  5.286811
13  5.274951  2.615380   2.701839  ...  5.343966  5.393002  5.310892
14  5.267717  2.588757   2.676699  ...  5.332641  5.356331  5.299973
15  5.207645  2.557645   2.644474  ...  5.271866  5.287435  5.244266
16  5.097226  2.522334   2.605892  ...  5.163959  5.188291  5.145620
17  4.987161  2.486294   2.567273  ...  5.056751  5.091500  5.046471
18  4.893541  2.450168   2.530107  ...  4.965447  5.007443  4.959943
19  4.823184  2.414322   2.494957  ...  4.896898  4.942282  4.892097
20  4.782205  2.378828   2.462084  ...  4.857204  4.901275  4.848124
21  4.769757  2.344163   2.431462  ...  4.845584  4.883970  4.827838
22  4.754436  2.310346   2.400372  ...  4.830733  4.863281  4.805725
23  4.727185  2.277665   2.368254  ...  4.803574  4.831505  4.774819
24  4.684759  2.246143   2.334896  ...  4.760727  4.785601  4.732571
25  4.627248  2.216407   2.300755  ...  4.702254  4.726026  4.679888
26  4.562172  2.190393   2.268304  ...  4.635846  4.660460  4.624084
27  4.530679  2.175844   2.248211  ...  4.603836  4.629887  4.602763
28  4.550864  2.175709   2.244352  ...  4.624965  4.652757  4.633093
29  4.632196  2.191131   2.258115  ...  4.709154  4.739082  4.724527
30  4.787292  2.223629   2.291247  ...  4.869629  4.902260  4.889937
31  4.893589  2.246091   2.314864  ...  4.979662  5.013891  5.001563

我想更改索引,例如第一个是 3M USD 0Y1Y,下一个是 3M USD 1Y1Y,3M USD 2Y1Y 等等,但我不知道该怎么做。

【问题讨论】:

  • 这些3M USD 0Y1Y, 3M USD 1Y1Y, 是什么?我在您的示例 df 中没有看到类似的内容。
  • 当您说“索引”时,您指的是列吗?您能否详细介绍一下命名约定背后的逻辑?
  • 对不起,应该更清楚,示例 df 的索引当前是第一列,所以 0 -31。命名背后的逻辑是,上面的数据是 300 万美元 libor 的远期互换利率,因此 0Y1Y 将从顶部的日期开始,然后以 1 年的时间结束。
  • 1Y1Y = 从该日期起一年后开始交换并持续一年等

标签: pandas dataframe indexing


【解决方案1】:

我不确定这是否真的回答了你的问题,但你应该能够通过列表理解来做到这一点

df.index = [f"3M USD {x}Y1Y" for x in range(len(df))]

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2019-10-07
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多