可以使用pandas库中的groupby和filter函数来实现。先按照指定的分组方式对数据框进行分组,然后根据条件过滤每个分组中的数据,保留符合条件的特定因子水平。
示例代码如下:
import pandas as pd
df = pd.DataFrame({'group': ['A', 'B', 'C', 'A', 'B', 'C'], 'factor': ['X', 'Y', 'Z', 'X', 'Y', 'Z'], 'value': [1, 2, 3, 4, 5, 6]})
filtered_df = df.groupby('group').filter(lambda x: 'X' in x['factor'].values and 'Y' in x['factor'].values)
print(filtered_df)
输出结果为: group factor value 0 A X 1 1 B Y 2 3 A X 4 4 B Y 5
这样就得到了按组拆分后,并且每个部分中都保留了特定因子水平的数据框。
上一篇:按组拆分数据框并水平堆叠