我是初学者。目前,我想复制数据帧的前十行(超过 100 行日期 ddmmyyyy 和流程如下。重新排序前十行,其中最后一行的日期(20/1/2022 - 1/1/ 2022)。
日期 | 流量 |
---|---|
2022 年 1 月 1 日 | 12 |
2022 年 2 月 1 日 | 9 |
...... | |
2022年5月30日 | 0.4 |
我不知道如何锻炼,有人可以帮助我吗?
假设这个输入:
df = pd.DataFrame({'Date': pd.date_range('2022-01-01', '2022-5-30', freq='D'),
'Flow': range(150)})
repeat
复制并与其余索引连接,最后 reindex
:
N = 10
order = (df['Date'].iloc[:N]
.sort_values(ascending=False)
.index
)
out = df.reindex(np.r_[order.repeat(2), df.index[N:]])
输出:
Date Flow
9 2022-01-10 9
9 2022-01-10 9
8 2022-01-09 8
8 2022-01-09 8
7 2022-01-08 7
7 2022-01-08 7
6 2022-01-07 6
6 2022-01-07 6
5 2022-01-06 5
5 2022-01-06 5
4 2022-01-05 4
4 2022-01-05 4
3 2022-01-04 3
3 2022-01-04 3
2 2022-01-03 2
2 2022-01-03 2
1 2022-01-02 1
1 2022-01-02 1
0 2022-01-01 0
0 2022-01-01 0
10 2022-01-11 10
11 2022-01-12 11
.. ... ...
145 2022-05-26 145
146 2022-05-27 146
147 2022-05-28 147
148 2022-05-29 148
149 2022-05-30 149
[160 rows x 2 columns]