如何在Python中创建数据框的子集?

发布于 2025-01-19 07:33:31 字数 875 浏览 2 评论 0原文

我有一个大型数据集(Pandes DataFrame),带有以下标题
ram = [f“ rut1_azi_ {i}”在范围(10)]
rdp = [f“ rut1_dtctn_probb_ {i}” for range in range(´10)]
rdi = [f“ rut1_dtctn_id_ {i}” for range(10)]
rem = [f“ rut1_elev_ {i}” for Range(10)]
rcc = ['rut1_cycle_counter']

现在我想从原始数据框架中进行许多子集,如下所示。

subset_0
index,rut1_cycle_counter,rut1_azi_0,rut1_dtctn_probb_0,rut1_dttctn_id_0,rut1_elev_0

subset_1 subset_1
index,rut1_cycle_counter,rut1_azi_1,rut1_dtctn_probb_1,rut1_dttctn_id_1,rut1_elev_1



subset_9
index,rut1_cycle_counter,rut1_azi_9,rut1_dtctn_probb_9,rut1_dttctn_id_9,rut1_elev_9

我如何在python中执行此操作? 我是Python的初学者,

非常感谢您

I have a large dataset(pandes dataframe) with following headers
RAM = [f"RUT1_Azi_{i}" for i in range(10)]
RDP = [f"RUT1_Dtctn_Probb_{i}" for i in range(´10)]
RDI = [f"RUT1_Dtctn_ID_{i}" for i in range(10)]
REM = [f"RUT1_Elev_{i}" for i in range(10)]
RCC = ['RUT1_Cycle_Counter']

Now i want to make many subset from the original dataframe as below.

subset_0
index,RUT1_Cycle_Counter, RUT1_Azi_0, RUT1_Dtctn_Probb_0, RUT1_Dtctn_ID_0, RUT1_Elev_0

subset_1
index,RUT1_Cycle_Counter, RUT1_Azi_1, RUT1_Dtctn_Probb_1, RUT1_Dtctn_ID_1, RUT1_Elev_1
.
.
.
subset_9
index,RUT1_Cycle_Counter, RUT1_Azi_9, RUT1_Dtctn_Probb_9, RUT1_Dtctn_ID_9, RUT1_Elev_9

How can I do this in python?
i am a beginner in python

Thank you very much in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

把时间冻结 2025-01-26 07:33:31

这是一个示例:

RAM = [f"RUT1_Azi_{i}" for i in range(10)]
RDP = [f"RUT1_Dtctn_Probb_{i}" for i in range(10)]
RDI = [f"RUT1_Dtctn_ID_{i}" for i in range(10)]
REM = [f"RUT1_Elev_{i}" for i in range(10)]

# made up example with the columns above
cols = RAM + RDP + RDI + REM
nrows = 10
df = pd.DataFrame(np.arange(nrows * len(cols)).reshape(nrows, -1), columns=cols)

现在:

subsets = [df[list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]

例如:

>>> subsets[5]
   RUT1_Azi_5  RUT1_Dtctn_Probb_5  RUT1_Dtctn_ID_5  RUT1_Elev_5
0           5                  15               25           35
1          45                  55               65           75
2          85                  95              105          115
3         125                 135              145          155
4         165                 175              185          195
5         205                 215              225          235
6         245                 255              265          275
7         285                 295              305          315
8         325                 335              345          355
9         365                 375              385          395

编辑:修改答案以包括所有子集的常见列列表(rcc = ['rut1_cycle_counter']):

subsets = [df[RCC + list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]

Here is an example:

RAM = [f"RUT1_Azi_{i}" for i in range(10)]
RDP = [f"RUT1_Dtctn_Probb_{i}" for i in range(10)]
RDI = [f"RUT1_Dtctn_ID_{i}" for i in range(10)]
REM = [f"RUT1_Elev_{i}" for i in range(10)]

# made up example with the columns above
cols = RAM + RDP + RDI + REM
nrows = 10
df = pd.DataFrame(np.arange(nrows * len(cols)).reshape(nrows, -1), columns=cols)

Now:

subsets = [df[list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]

For example:

>>> subsets[5]
   RUT1_Azi_5  RUT1_Dtctn_Probb_5  RUT1_Dtctn_ID_5  RUT1_Elev_5
0           5                  15               25           35
1          45                  55               65           75
2          85                  95              105          115
3         125                 135              145          155
4         165                 175              185          195
5         205                 215              225          235
6         245                 255              265          275
7         285                 295              305          315
8         325                 335              345          355
9         365                 375              385          395

Edit: modified answer to include a common list of columns for all subsets (RCC = ['RUT1_Cycle_Counter']):

subsets = [df[RCC + list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]
简单 2025-01-26 07:33:31

使用 pandas,您可以本机调用数据帧的子集
只要 list_of_subset_headers 是数据帧列的子集,只需编写

sub_df=df[list_of_subset_headers]

Or 在这种情况下:

sub_df0=df[['RUT1_Azi_0', 'RUT1_Dtctn_Probb_0', 'RUT1_Dtctn_ID_0', 'RUT1_Elev_0']]

With pandas you can natively call a subset of a dataframe
as long as list_of_subset_headers is a subset of your dataframes columns just write

sub_df=df[list_of_subset_headers]

Or in this case :

sub_df0=df[['RUT1_Azi_0', 'RUT1_Dtctn_Probb_0', 'RUT1_Dtctn_ID_0', 'RUT1_Elev_0']]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文