Here is another way, using df.truncate
:
df = df.truncate(after=len(series)-1)
Example:
>>> df
0 1 2 3 4
0 -0.615868 0.367161 0.138472 -0.353085 0.953871
1 0.063501 -0.256693 0.895870 0.368182 0.156447
2 -0.148034 -0.572105 -3.030083 1.092318 -2.635359
3 -1.038899 1.198679 2.633639 -0.149085 -1.574603
4 -2.639766 1.377038 -1.263696 -1.999058 -1.540654
5 1.683478 -0.403260 -1.551362 -0.007200 0.240715
6 1.033099 0.659052 -0.306415 0.086918 -1.523796
7 -1.514313 0.117010 0.490440 0.497393 0.123755
8 0.078399 0.218355 -0.255076 -0.474265 -0.430907
9 0.868665 1.917818 1.303568 1.772729 -0.446849
>>> series
0 0.311083
1 0.498019
2 -0.671698
dtype: float64
>>> df.truncate(after=len(series)-1)
0 1 2 3 4
0 -0.615868 0.367161 0.138472 -0.353085 0.953871
1 0.063501 -0.256693 0.895870 0.368182 0.156447
2 -0.148034 -0.572105 -3.030083 1.092318 -2.635359
Although, just to note, I can't reproduce your problem. For instance:
df[:len(series)]
Returns a truncated df
as well:
>>> df[:len(series)]
0 1 2 3 4
0 -0.615868 0.367161 0.138472 -0.353085 0.953871
1 0.063501 -0.256693 0.895870 0.368182 0.156447
2 -0.148034 -0.572105 -3.030083 1.092318 -2.635359