Другой вариант, если в заголовке есть строки, а до 1900 года нет лет:
df = pd.DataFrame({'str_ID':[4,2,4,5,5,4],
'num_ID': [4,2,4,5,5,4],
'1990':[4,3,1,2,2,4],
'1991':[1,2,4,5,5,3],
'1992':[4,3,2,2,2,4],
'1993':[4,3,2,2,2,4]})
print df
1990 1991 1992 1993 num_ID str_ID
0 4 1 4 4 4 4
1 3 2 3 3 2 2
2 1 4 2 2 4 4
3 2 5 2 2 5 5
4 2 5 2 2 5 5
5 4 3 4 4 4 4
columns = [x for x in df.columns if (x>=1990 and x.isdigit())]
df = df[columns]
print df
Выход:
1990 1991 1992 1993
0 4 1 4 4
1 3 2 3 3
2 1 4 2 2
3 2 5 2 2
4 2 5 2 2
5 4 3 4 4