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

2024-10-03 00:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的数据集,我需要为它创建几个子集。我想获取列表中的每个字符串值,以过滤较大数据集中的一列,并另存为子集。因此,对于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")

Tags: 数据函数字符串df列表filterloc子集
2条回答

这个想法似乎是正确的,只需在子集的值上循环

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]

试着这样做:

d_df =  {}

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

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

相关问题 更多 >