我有一个主数据框,我想根据列值的唯一值从中创建新的数据框。因此,在特定列中具有值“ x”的任何内容都将添加到其自己的DataFrame中。而且,我想动态地创建它,同时唯一地命名每个新创建的DataFrame。谁能告诉我该怎么做?
例如,在图片中,带有"Team ID" = 7514332
的行将是名为"P_1"
的新DataFrame。
我是为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"
等重复此操作。
答案 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) ]