#pandas #dataframe #for-loop
Вопрос:
У меня есть фрейм данных с 14 цветами и 169882 строками. Заголовком столбцов фрейма данных являются
Columns: [Station, day, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, Z]
В столбце «Станция» всего 58 станций с именами от 1 до 58, однако они случайным образом распределены по фрейму данных.
Я пишу приведенный ниже код, чтобы извлечь строку из набора данных для определенного имени станции ( например, станция 1 в приведенном ниже коде) и сохранить в файл excel с соответствующим именем станции:
grouped = df.groupby(df.Station)
S1= grouped.get_group(1)
S1.to_excel("1.xlsx")
как я могу создать цикл for для чтения столбца «Станция», извлечения строк, относящихся к станциям с 1 по 58, и последующего сохранения выходных данных каждой станции в файл excel? проще говоря, как поместить верхний код в цикл for, чтобы выполнить задачу для всех 58 станций?
Ответ №1:
Этого можно достичь за 2 шага, получить уникальный список станций, а затем выполнить цикл по станции и применить фильтр к кадру данных
Station = df['Station'].unique().tolist()
for s in Station:
file = s '.csv'
df1 = df[df.Station == str(s)]
df1.to_csv(file, index=False)