python-3.x - 如何在 Pandas python 中插入不均匀间隔的年份?
问题描述
我正在尝试用一些不均匀的年份插入一个 DataFrame,orig_years = [2020, 2022, 2030, 2038, 2040]
比如given_years = [2020, 2025, 2030, 2035, 2040, 2045, 2050]
.
这是我正在处理的一个虚拟 DataFrame:
df:
Out[344]:
FUEL YEAR VALUE
0 gas 2022 1000
1 gas 2030 500
2 oil 2020 5
3 oil 2040 10
4 biomass 2030 100
5 biomass 2038 100
年份不均,我该如何插入它们?我会很感激任何想法。
预期输出:如您所见,这是interpolate(limit_direction = 'both')
REGION FUEL YEAR VALUE
0 DE gas 2020 1000.00
1 DE oil 2020 5.00
2 FR biomass 2020 100.00
4 DE gas 2025 750.00
5 DE oil 2025 6.25
6 FR biomass 2025 100.00
.. ... ... ... ...
10 FR biomass 2035 100.00
11 DE oil 2035 8.75
12 DE gas 2035 500.00
14 DE gas 2040 500.00
15 FR biomass 2040 100.00
16 DE oil 2040 10.00
谢谢你。
解决方案
您可以使用np.arange
>>> df.YEAR = np.arange(2020, 2020 + (5*len(df)), 5)
>>> df
FUEL YEAR VALUE
0 gas 2020 1000
1 gas 2025 500
2 oil 2030 5
3 oil 2035 10
4 biomass 2040 100
5 biomass 2045 100
推荐阅读
- java - Firebase 数据未显示在我的 RecyclerView 上
- ruby - 在(双引号)heredoc 中使用 `gsub` 不起作用
- python - 在未来包装一个队列
- java - 将线程注册到 Phaser
- c++ - 在 X 位置停止从 QMediaPlayer 播放视频
- python-3.x - Python 3 - 断言一个布尔值。
- python - 如何打印从 5 到 1,000,000 的所有 5 的倍数
- c# - Is there any way to use JDBC to connect to local MS SQL without enabling TCP?
- c++ - Is there a way to pass an rvalue by reference in C++?
- javascript - same code about string.replace get different result in firefox and chrome