[英]Q: Dict comprehension on a dictionary of pandas dataframes, with a function with multiple outputs
[英]Creating Pandas dataframes with a function of comprehension
我有一个带有称为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使用经验,因此我正在努力创建使之自动化的东西。 我在想类似的东西:
for x in CP_Vals:
df_x = df[(df['iDir'] == '%s' % x)]
这可能吗? 提前致谢!
您可以使用字典来存储使用相应名称as键获取的不同数据帧。 范例-
CP_Vals = dftc2['iDir'].unique().tolist()
df_dict = {'df_{}'.format(x): df[(df['iDir'] == x)] for x in CP_Vals}
请注意,字典理解仅在Python 2.7+中可用。 另外,在此之后,您可以访问特定的DataFrame,例如df_dict['df_N']
等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.