gpt4 book ai didi

Python:将一行扩展为多行并进行计算

转载 作者:行者123 更新时间:2023-12-04 07:46:09 24 4
gpt4 key购买 nike

我有这两个观察:

    Date    Confirmed Cases
0 2020-12-27 100
1 2020-12-28 1000
在这个数据框中,我想制作这个表格:
    Date    Confirmed Cases
0 2020-12-27 100
1 2020-12-27 280
2 2020-12-27 460
3 2020-12-27 640
4 2020-12-27 820
5 2020-12-28 1000
基本上,我想将我的两行扩展为六行,其他 4 行的值将同样上升到第六行的值。
因此,如果我的第一行包含 100 个值,第二行包含 1000 个值,并且我想添加 4 个新行,那么每行的相等部分将是: (1000 - 100) / (4 + 1) 这是数据:
pd.DataFrame({"Date": ['2020-12-27', '2020-12-28'],
"Confirmed Cases": [100, 1000]})

最佳答案

这是基于此 enumerate/unstack/stack 的另一个选项处理任意日期的方法:

rows = 4
(df.assign(enum=df.groupby('Date').cumcount())
.set_index(['enum', 'Date'])
.unstack('Date')
.reindex(range(rows + 1))
.stack('Date', dropna=False)
.sort_index(level='Date')
.reset_index('Date')
.interpolate()
.reset_index(drop=True)
).iloc[:-rows]
输入:
         Date  Confirmed Cases
0 2020-12-27 100
1 2020-12-28 1000
2 2020-12-29 5000
输出:
         Date  Confirmed Cases
0 2020-12-27 100.0
1 2020-12-27 280.0
2 2020-12-27 460.0
3 2020-12-27 640.0
4 2020-12-27 820.0
5 2020-12-28 1000.0
6 2020-12-28 1800.0
7 2020-12-28 2600.0
8 2020-12-28 3400.0
9 2020-12-28 4200.0
10 2020-12-29 5000.0

关于Python:将一行扩展为多行并进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67185018/

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