내가 이와 같은 데이터 프레임을 가지고 있다고 가정 해 보겠습니다.판다 데이터 프레임의 값을 확장하는 더 빠른 방법
df = pd.DataFrame( data = np.random.random((10,3)),
columns = [ 'Year', 'Var1', 'Var2' ],
index = np.arange(10))
df.Year = np.repeat([2000, 2001], 5)
>>> df
Year Var1 Var2
0 2000 0.811247 0.483376
1 2000 0.707072 0.514624
2 2000 0.457840 0.246798
3 2000 0.000576 0.105618
4 2000 0.825557 0.044757
5 2001 0.350272 0.406710
6 2001 0.176377 0.084755
7 2001 0.039902 0.510173
8 2001 0.631718 0.136885
9 2001 0.441104 0.831035
나는 2001 년의 값을 가져 와서 2200 년까지 반복하고 싶습니다. 현재이 방법을 사용하고 있습니다. (대용량 데이터 프레임의 경우 느립니다.)
df2001 = df[ df.Year == 2001 ]
extensionRange = np.arange(2002, 2200 + 1)
for year in extensionRange:
df2001.Year = year
df = df.append(df2001)
>>> df.tail(10)
Year Var1 Var2
5 2199.0 0.350272 0.406710
6 2199.0 0.176377 0.084755
7 2199.0 0.039902 0.510173
8 2199.0 0.631718 0.136885
9 2199.0 0.441104 0.831035
5 2200.0 0.350272 0.406710
6 2200.0 0.176377 0.084755
7 2200.0 0.039902 0.510173
8 2200.0 0.631718 0.136885
9 2200.0 0.441104 0.831035
실제 데이터 프레임이 훨씬 크기 때문에이 프로세스를 완료하는 데 약 1 분이 소요됩니다. 이 작업을 수행하는 더 빠른 방법이 있습니까? 아마도 추가하지 않고?