Я чтение данных в кусках из CSV, как это:Панда добавив несколько дополнительных столбцов на основе многих условий
for chunk in pd.read_csv(file, chunksize=50000, names = col_names, header = 0, dtype = dtype):
chunk['derived_field_1'] = [1 if x == 'High' else -1 for x in chunk['indicator']]
выше работает и она основана на одном условии. Я хочу сделать это на основе условий на двух полях. Создание общего количества комбинаций значений будет 8. В качестве примера
chunk['derived_field_2'] = [chunk['column_1'] if ((x == 'Red' for x in chunk['Color']) and (y == 'High' for y in chunk['Indicator'])) else
chunk['column_2'] if ((x == 'Green' for x in chunk['Color']) and (y == 'Low' for y in chunk['Indicator'])) else 0]
Я хочу сделать выше и продолжать идти с условием еще для более 6 условий, как выше. Это не работает, два цикла не работают. Я получаю эту ошибку -
raise ValueError('Length of values does not match length of ' 'index')
ValueError: Length of values does not match length of index
Может кто-нибудь знать причину этой ошибки?
Спасибо за ответ :) – CodeGeek123
Привет это до сих пор вызывает ошибку: поднять ValueError («Длина значений не соответствует длине» «индекс») ValueError: Длина значений не соответствует длине индекса. Вы столкнулись с этим раньше? Я установил min_itemsize на большее число, но это не сработало – CodeGeek123
Я не могу придумать причину, по которой это не получится. Просто протестировано в небольшом файле, кажется, работает нормально. – Psidom