我是 python 和 pandas 的新手。
我为我的数据制作了一个 Pandas DataFrame,如下图所示。 我想提取按文件名分组的 x_c 和 y_c 列。 例如,我想制作新的数据帧,假设为 df1,其中包含 x_c 和 y_c 的值,“文件名”为“recon_image_0000.tif” 然后我想以相同的方式制作另一个数据帧 df2,但文件名为“recon_image_0001.tif”。 像这样,我想提取所有数据并单独保存,直到最后一个文件名“recon_image_0036.tif”。
最佳答案
>>> df
file_name x_c y_c
0 a.tif 7 37
1 a.tif 23 41
2 a.tif 98 21
3 b.tif 74 100
4 b.tif 84 78
5 b.tif 50 10
6 b.tif 1 10
7 c.tif 10 57
8 c.tif 49 15
>>> g = df.groupby("file_name")
>>> variables_names = [f"df_{e}" for e,i in enumerate(g, start=1)]
>>> for name, group in zip(variables_names, g):
globals()[name] = group[1].reset_index(drop=True)
>>> df_1
file_name x_c y_c
0 a.tif 7 37
1 a.tif 23 41
2 a.tif 98 21
>>> df_2
file_name x_c y_c
0 b.tif 74 100
1 b.tif 84 78
2 b.tif 50 10
3 b.tif 1 10
>>> df_3
file_name x_c y_c
0 c.tif 10 57
1 c.tif 49 15
关于python - 从 Pandas 数据框中按文件名提取列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69969373/