Фон
Я делаю некоторые симуляции соответственно. системный анализ с изменением параметров (в данном случае только rpm
) и добавление каждой последней строки фрейма данных результатов results_df
к резюмирующему фрейму данных df
, содержащему оценку моей системы в зависимости от различных rpm
.
Чтобы получить соответствующий индекс для построения графика и анализа данных, я преобразовал различные значения (здесь rpm
) из списка в серию pandas ser
и объединил эту серию с обобщающим фреймом данных df
, содержащим интересующие меня результаты.
Поскольку результаты каждого вычисления, которые меня интересуют, - это только последняя строка каждого вычисления, я извлекаю эти данные из кадра данных результатов results_df
с помощью .tail(1)
.
То, что я сделал до сих пор, показано в следующем фрагменте:
rpm = [0.25, 0.3, 0.5, 0.75, 1.0, 1.5, 2.0]
ser = pd.Series(rpm, name='rpm')
df = pd.DataFrame()
df_list = list()
for i, val in enumerate(rpm):
results_df = get_some_data_from_somwhere()
df_list.append(results_df.tail(1))
df = df.append(df_list, ignore_index=True)
df = pd.concat([df, ser], axis=1)
df.set_index('rpm', inplace=True)
with open('foo.csv', 'w') as f:
data.to_csv(f, index=True, header=True, decimal=',', sep=' ', float_format='%.3f')
Проблема
Этот CSV-файл, который я получаю, имеет следующий формат:
rpm cooling_inner heating_inner cooling_outlet heating_outlet
0.25 303,317 323,372 302,384 324,332
Однако я ожидал наличия трех десятичных цифр и запятой в качестве десятичного знака в моем индексном столбце, как показано здесь:
rpm cooling_inner heating_inner cooling_outlet heating_outlet
0,250 303,317 323,372 302,384 324,332
Таким образом, кажется, что параметры знака index
и decimal
не применяются к столбцу индекса при экспорте фреймов данных в csv-файлы с помощью команды .to_csv
.
Как я могу добиться такого поведения, поскольку параметр index
установлен True
и все значения (за исключением столбца индекса) имеют правильный формат и десятичный знак?
Должен ли я обрабатывать индексный столбец как-то отдельно?
data.reset_index().to_csv(index=False
... - person firelynx   schedule 23.07.2015data.to_csv('foo.csv'
... вам не нужно давать ему поток. - person firelynx   schedule 23.07.2015.to_csv
- person firelynx   schedule 23.07.2015