異なる長さのシリーズは問題にはなりません。パンダは自動的に欠損値をNAで埋めます。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
np.random.seed(100)
s1 = pd.Series(np.random.randn(5))
s2 = pd.Series(np.random.randn(10))
s3 = pd.Series(np.random.randn(15))
df = pd.DataFrame({'s1':s1, 's2':s2, 's3':s3})
df
0 -1.749765 0.514219 -0.104411
1 0.342680 0.221180 -0.531280
2 1.153036 -1.070043 1.029733
3 -0.252436 -0.189496 -0.438136
4 0.981321 0.255001 -1.118318
5 NaN -0.458027 1.618982
6 NaN 0.435163 1.541605
7 NaN -0.583595 -0.251879
8 NaN 0.816847 -0.842436
9 NaN 0.672721 0.184519
10 NaN NaN 0.937082
11 NaN NaN 0.731000
12 NaN NaN 1.361556
13 NaN NaN -0.326238
14 NaN NaN 0.055676
df.plot.box()
plt.show()
