И если вы хотите сохранить любую информацию об агрегировании со второго уровня мультииндекса, вы можете попробовать следующее:
In [1]: new_cols = [''.join(t) for t in df.columns]
Out[1]:
['USAF',
'WBAN',
'day',
'month',
's_CDsum',
's_CLsum',
's_CNTsum',
's_PCsum',
'tempfamax',
'tempfamin',
'year']
In [2]: df.columns = new_cols
C2011 6.4.8.2p3 требует, чтобы каждое выражение метки случая было выражением целочисленной константы . Целочисленные константные выражения являются ограниченным подмножеством константных выражений, определенных в § 6.6p6 . Строковые литералы могут не появляться в целочисленных константных выражениях.
6.4.8.2p3 является абзацем «ограничений», поэтому эта программа некорректна.
Таким образом, ответ на ваш вопрос, как его буквально задают, таков: компилятор может уменьшить "string"[0]
до 's'
, но это не разрешено; вместо этого требуется отклонить вашу программу.