我希望在使用过滤器命名数据框的同时,从python中的单个大数据框生成一系列较小的数据框

时间:2019-02-07 14:55:08

标签: python dataframe for-loop string-formatting

我有一个名为dfe的大型数据框,里面充满了科学信息。在我的第一列(“反应”)中,有三个不同的字符串变量,例如a,b,c。我希望将此数据帧分为三个数据帧dfa,dfb,dfc。我有一个名为react2的列表变量,其中包含变量a,b,c。

这是我的问题代码:

for i in react2:
    df{}.format(i) = dfe[dfe['reaction'] = i ]

然后我得到一个错误:

 df{}.format(i) = dfe[dfe['reaction'] = i ]
   ^
 SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

最明智的做法是将它们存储在字典中

df_dict = {}
for i in react2:
    df_dict[i] = dfe[dfe['reaction'] == i]

您可以使用字典理解将其放在一行上:

df_dict = {i : dfe[dfe['reaction'] == i] for i in react2}