使用列表中的每个值来筛选子集?

时间:2018-07-24 21:21:03

标签: python pandas function loops iteration

我有一个很大的数据集,需要为其创建几个子集。我想采用列表中的每个字符串值来过滤较大数据集上的一列并另存为子集。因此,对于unique列表中的每个值,我需要过滤full_df并另存为子集。

这会需要某种功能,迭代或循环吗?感谢您为解决该问题提供的所有帮助。

unique = ['aba', 'xyz', 'xgx', 'dssd', 'sdjh']

aba = full_df.loc[(full_df['filter'] == "aba")
xyz = full_df.loc[(full_df['filter'] == "xyz")
xgx = full_df.loc[(full_df['filter'] == "xgx")
dssd = full_df.loc[(full_df['filter'] == "dssd")
sdjh = full_df.loc[(full_df['filter'] == "sdjh")

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

d_df =  {}

unique = ['aba', 'xyz', 'xgx', 'dssd', 'sdjh']

for i in unique:
   d_df[i] = full_df.loc[full_df['filter'] == i]

答案 1 :(得分:0)

这个想法似乎是正确的,只是遍历子集的值。

unique = ('aba', 'xyz', 'xgx', 'dssd', 'sdjh')
subset_dfs = {}

for unique_key in unique:
    subset_dfs[unique_key] = full_df.loc[full_df['filter'] == unique_key]