pandas 将一个数据框拆分为多个数据框 [英] Pandas split one dataframe into multiple dataframes

查看:73
本文介绍了 pandas 将一个数据框拆分为多个数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个熊猫数据框,需要将其拆分为多个数据框.我需要拆分的数据帧数取决于我拥有多少个月的数据,即我需要为每个月创建一个新的数据帧. df:

I have one pandas dataframe that I need to split into multiple dataframes. The number of dataframes I need to split depends on how many months of data I have i.e I need to create a new dataframe for every month. So df:

MONTH   NAME INCOME
201801   A     100$
201801   B      20$
201802   A      30$

所以我需要创建2个数据框.问题是我不知道我将提前多少个月的数据. 我该怎么做

So I need to create 2 dataframes . Problem is i dont know how many months of data I will have in advance. How do i do that

推荐答案

您可以使用groupby创建数据帧字典,

You can use groupby to create a dictionary of data frames,

df['MONTH'] = pd.to_datetime(df['MONTH'], format = '%Y%m')
dfs = dict(tuple(df.groupby(df['MONTH'].dt.month)))
dfs[1]


    MONTH   NAME    INCOME
0   2018-01-01  A   100$
1   2018-01-01  B   20$

如果您的数据涉及多年,则需要在分组中包含年份

If your data is across multiple years, you will need to include year in the grouping

dfs = dict(tuple(df.groupby([df['MONTH'].dt.year,df['MONTH'].dt.month])))
dfs[(2018, 1)]

    MONTH      NAME INCOME
0   2018-01-01  A   100$
1   2018-01-01  B   20$

这篇关于 pandas 将一个数据框拆分为多个数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆