Я использовал Spring Framework с Maven и решил эту ошибку в моем проекте.
В классе была ошибка выполнения. Я читал свойство как целое число, но когда он читал значение из файла свойств, его значение было двойным.
Spring не дал мне полную трассировку стека, на которой строка не удалась. Он просто сказал NoClassDefFoundError
. Но когда я выполнил его как родное Java-приложение (взяв его из MVC), он дал ExceptionInInitializerError
, который был истинной причиной, и именно так я отслеживаю ошибку.
Ответ @ xli дал мне понимание что может быть неправильным в моем коде.
Одним из простых решений является использование списка:
df.columns = ["YEAR" if "SELECT YEAR" in x else x for x in df.columns]
Решение Pandas:
df.columns = df.columns.where(~df.columns.str.contains('SELECT YEAR'), 'YEAR')
Будьте осторожны, только если задано несколько значений, тогда проблема с выбором, потому что: ]
print (df['YEAR'])
возвращать все столбцы YEAR
.
Образец :
c = ['SELECT YEAR d', 'FIELD OF STUDY', 'SELECT YEAR T (ACADEMIC YEAR = T-1 OR T)', 'VALUE']
df = pd.DataFrame(0, columns=c, index=[1,2])
df.columns = ["YEAR" if "SELECT YEAR" in x else x for x in df.columns]
print (df)
YEAR FIELD OF STUDY YEAR VALUE
1 0 0 0 0
2 0 0 0 0
print (df['YEAR'])
YEAR YEAR
1 0 0
2 0 0