【发布时间】:2021-11-19 16:44:24
【问题描述】:
我需要根据存储在字典中的列名的 start 将一个数据帧分成三个子集。
这是一个df:
df = pd.DataFrame(np.random.randint(0,5,size=(5, 10)), columns=('a_group1_sub','a_group1_actual','b_group1_sub','b_group1_actual','b_group2_total','b_group2_sub','b_group2_expected','class_first','class_second','area_x'))
这是一个字典,我想根据以下分组来分隔数据框:df1 = a_group1, df2 b_group2 and b_group2, df3 = class and area
groups = dict({1: ['a_group1'], 2: ['b_group1', 'b_group2'], 3: ['class', 'area']})
这是我尝试过的循环
for k, v in groupings.items():
print(df.loc[:,df.columns.str.startswith([v])])
如果我做这样的事情,它会起作用,但不是在循环中
df.loc[:,df.columns.str.startswith('a_group1')])
欢迎任何cmets,非常感谢
【问题讨论】:
标签: python pandas dataframe dictionary subset