ошибка: метка регистра не сводится к целочисленной константе для символов, выбранных из строкового литерала

И если вы хотите сохранить любую информацию об агрегировании со второго уровня мультииндекса, вы можете попробовать следующее:

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
1
задан Remy 6 March 2019 в 19:57
поделиться

1 ответ

C2011 6.4.8.2p3 требует, чтобы каждое выражение метки случая было выражением целочисленной константы . Целочисленные константные выражения являются ограниченным подмножеством константных выражений, определенных в § 6.6p6 . Строковые литералы могут не появляться в целочисленных константных выражениях.

6.4.8.2p3 является абзацем «ограничений», поэтому эта программа некорректна.

Таким образом, ответ на ваш вопрос, как его буквально задают, таков: компилятор может уменьшить "string"[0] до 's', но это не разрешено; вместо этого требуется отклонить вашу программу.

0
ответ дан zwol 6 March 2019 в 19:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: