[我尝试为每个year
填写2015~2019
中缺少的city
话,bfill
中的value
。
city year value
0 bj 2017 15
1 bj 2019 17
2 sh 2015 23
3 sh 2016 24
4 sh 2019 16
如何获得这样的预期结果?谢谢。
city year value
0 bj 2015 15
1 bj 2016 15
2 bj 2017 15
3 bj 2018 17
4 bj 2019 17
5 sh 2015 23
6 sh 2016 24
7 sh 2017 16
8 sh 2018 16
9 sh 2019 16
我已经尝试使用下面的代码来创建city
和year
对:
rng = pd.date_range('2015', '2019', freq='YS').year
c = df['city'].unique()
mux = pd.MultiIndex.from_product([c, rng], names=['city','year'])
print(mux)
我得到:
MultiIndex([('bj', 2015),
('bj', 2016),
('bj', 2017),
('bj', 2018),
('bj', 2019),
('sh', 2015),
('sh', 2016),
('sh', 2017),
('sh', 2018),
('sh', 2019)],
names=['city', 'year'])
在由DataFrame.reindex
创建的DaatFrame中使用DataFrame.reindex
使用MultiIndex
,然后在第一级DataFrame.set_index
使用DataFrame.set_index
:
GroupBy.bfill
仅从原始数据开始,没有多索引:
GroupBy.bfill