如何基于条件创建多个新数据框,它们是主数据框的子集,并动态地对其进行唯一命名?

时间:2020-07-12 07:04:50

标签: python pandas dataframe

我有一个主数据框,我想根据列值的唯一值从中创建新的数据框。因此,在特定列中具有值“ x”的任何内容都将添加到其自己的DataFrame中。而且,我想动态地创建它,同时唯一地命名每个新创建的DataFrame。谁能告诉我该怎么做?

例如,在图片中,带有"Team ID" = 7514332的行将是名为"P_1"的新DataFrame。
enter image description here

我是为DataFrame编写的:

p_1 = player_df.loc[player_df['Team ID'].isin([7514332])]

但是,这里我将团队ID硬编码为7514332 我的团队ID位于另一个DF的列中 我是否可以遍历它们以匹配团队ID并动态创建它们,而不是对其进行硬编码?

例如,代码将匹配另一个DF的7506093的团队ID,并使用仅用于该特定团队ID的行创建"P_2" 对于"P_3""P_4"等重复此操作。

1 个答案:

答案 0 :(得分:3)

您可以通过以下方式创建包含[p_1,p_2,..]的df列表:

p_df = [player_df.loc[player_df['Team ID'].isin([item])] for item in set(player_df['Team ID'].values) ]