创建具有理解功能的数据帧

2024-06-01 08:23:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,它有一个名为Dir的列,其中包含五个值:N、S、E、W和C。我将它们拆分为单独的数据帧,如下所示:

df_N = df[(df['Dir'] == 'N')]
df_S = df[(df['Dir'] == 'S')]
df_E = df[(df['Dir'] == 'E')]
df_W = df[(df['Dir'] == 'W')]
df_C = df[(df['Dir'] == 'C')]

但是,我想创建一个函数或列表来为我实现这一点,这样,如果数据中的值发生更改,我就不必重新编写代码。你知道吗

我创建了一个值列表,如下所示:

CP_Vals = Series.unique(dftc2['iDir']).tolist()

但我在Python方面并没有太多的ofd经验,我正在努力创建一些自动化的东西。我在想:

for x in CP_Vals:
    df_x = df[(df['iDir'] == '%s' % x)]

这可能吗?提前谢谢!你知道吗


Tags: 数据函数代码df列表dir经验cp
1条回答
网友
1楼 · 发布于 2024-06-01 08:23:05

您可以使用字典来存储使用as key的相应名称获得的不同数据帧。示例-

CP_Vals = dftc2['iDir'].unique().tolist()
df_dict = {'df_{}'.format(x): df[(df['iDir'] == x)] for x in CP_Vals}

请注意,字典理解仅在Python2.7+中可用。此外,在此之后,您可以访问特定的数据帧,如df_dict['df_N'],等等

相关问题 更多 >