我有一个巨大的数据框(2077列),我想分解成多个数据框(准确地是78个)。每个列名称以3个字母的缩写开头(coc,cou,wam等)。如何根据列名的前三个字母将主数据帧拆分为多个较小的数据帧?
先谢谢了。
答案 0 :(得分:1)
使用lambda调用groupby
并遍历组对象以将其分离为DataFrame列表:
df_list = [g for _, g in df.groupby(by=lambda x: x[:3], axis=1)]
如果您想改用{prefix:dataFrame}的映射,则可以创建一个字典:
df_dict = {k: g for k, g in df.groupby(by=lambda x: x[:3], axis=1)}