#python #pandas #csv #dataframe
#python #pandas #csv #dataframe
Вопрос:
Я извлекаю данные из файла csv по столбцам. Для значений каждого столбца я прогнозирую данные с помощью моей модели. Код является:
prod = pd.read_csv('/home/hp/products/prod[130].csv', engine='python')
#data_belrd = prod['BelRd(D2)'].tolist()
for i in range(3,11):
data_belrd = prod.iloc[:, i].tolist()
print(data_belrd)
#print('-'*80)
model = AR(data_belrd)
model_fit = model.fit(2)
# make prediction
y_belrd = model_fit.predict(len(data_belrd), len(data_belrd))
print(y_belrd)
print('-'*80)
Я хочу сохранить прогнозируемые данные y_belrd в конце соответствующего столбца (i-й столбец). Как это сделать?
Редактировать: csv выглядит следующим образом:
Если я предсказываю значение для столбца BelRd (2), то я хочу сохранить значение в конце того же столбца BelRd (2).
Редактировать 2: Если для столбца BelRd (d2) прогнозируемое значение равно 2, то столбец должен выглядеть следующим образом с дополнительными 2 в конце столбца:
Ответ №1:
Вопрос немного неясен.
Для сохранения в новый столбец в dataframe
df['new column'] = data
Чтобы сохранить dataframe в CSV, используйте:
df['Column Name'].to_csv('csv_filename.csv')
Чтобы добавить строку в нижнюю часть вашего фрейма данных, используйте:
df.append({'column name': value}, ignore_index=True)
Чтобы вставить значение в i-й столбец, используйте:
df.append({df.columns[i]: value}, ignore_index=True)
Комментарии:
1. хочу сохранить данные в соответствующем столбце, для которого я предсказал значение.
2. вы прогнозируете классы (скажем, 0-9) и хотите сохранить прогнозируемый ответ в его столбце? Итак, если вы предсказали 2, вы хотите сохранить 0 0 1 0 0 0 0 0 0 0?
3. @Debbie тебе нужно уточнить, это входной или выходной csv? Какой результат вы ожидаете? Добавление столбца может означать так много вещей, что именно вам нужно, чтобы это произошло?
4. Первый рисунок — это imput csv. второй — после сохранения выходных данных. Смотрите, еще 2 хранятся в соответствующем каталоге.
5. Спасибо, вам нужно добавить строку, но вам нужно будет передать столбец. Смотрите обновление.