我有一个 Pandas 数据框,我需要将其拆分为多个数据框。我需要拆分的数据帧数量取决于我有多少个月的数据,即我需要为每个月创建一个新的数据帧。所以 df:
MONTH NAME INCOME
201801 A 100$
201801 B 20$
201802 A 30$
Run Code Online (Sandbox Code Playgroud)
所以我需要创建 2 个数据框。问题是我不知道我会提前多少个月的数据。我怎么做
您可以使用 groupby 创建数据框字典,
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$
Run Code Online (Sandbox Code Playgroud)
如果您的数据跨多个年份,则需要在分组中包含年份
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$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8801 次 |
| 最近记录: |