创建一个for循环,用于从pd数据帧中提取特定的行



我有一个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个站点的任务?

这可以通过两个步骤实现,获得站点的唯一列表,然后循环通过站点并在数据帧上应用过滤器

Station = df['Station'].unique().tolist()
for s in Station:
file = s + '.csv'
df1 = df[df.Station == str(s)]
df1.to_csv(file, index=False)

最新更新