У меня есть один большой фрейм данных, который я разделяю на несколько меньших фреймов данных, основанных на определенном столбце, и хочу сохранить каждый из этих меньших фреймов данных в виде отдельных файлов CSV.
all_parameters
- это список строк, которые появляются в определенном столбце кадра данных.column_name
- это столбец в фрейме данных df
с именами, которые меня интересуют.
for parameter in all_parameters:
output_filename=str(parameter)+'_char.txt'
df_param=df.loc[df[column_name]==parameter]
df_param.reset_index(inplace=True,drop=True)
print("\n"+output_filename)
print(df_param.head())
df_param.to_csv(output_filename)
Каждый фрейм данных df_param
печатается, как и ожидалось, но когда я пытаюсь сохранить его в csv, он просто создаетФайлы размером 0 КБ с именем без '_char.txt'
. Если я изменю имя файла на фиксированное, как в df_param.to_csv('1.txt')
, оно правильно сохранит последний файл в цикле.
Для пояснения: оператор print в приведенном выше коде генерирует несколько таких фреймов:
[5 rows x 11 columns]
s8srssf8a_VTRIP_LVPORBOD_fall:tripLevel_char.txt
x y SITE ... Data Source Table Temperature
0 6 1 1 ... 1610.436 1D.001.20190131091926 25
1 6 1 1 ... 1548.332 1D.001.20190131103844U1 130
2 5 1 1 ... 1608.646 1D.001.20190131120359 -40
3 8 1 1 ... 1597.414 1D.001.20190131120359 -40
4 1 1 1 ... 1608.345 1D.001.20190131111528 90
[5 rows x 11 columns]
s8srssf8a_VTRIP_LVPORBOD_rise:tripLevel_char.txt
x y SITE ... Data Source Table Temperature
0 3 1 1 ... 1574.713 1D.001.20190131103844U1 130
1 1 1 1 ... 1529.827 1D.001.20190131103844U1 130
2 2 1 1 ... 1621.061 1D.001.20190131091926 25
3 1 1 1 ... 1631.120 1D.001.20190131091926 25
4 7 1 1 ... 1625.103 1D.001.20190131120359 -40
Что здесь происходит?Помогите пожалуйста!