首页 > 解决方案 > 拆分熊猫数据框

问题描述

我有一个 A 公司电子消费的示例数据框,如下所示

年月 公司 千瓦时
2017-01 一种 100
2018-02 一种 110
2019-01 一种 90
2019-02 一种 105
2020-01 一种 117
2020-02 一种 120

我想删除 2020 年的数据并将剩余的数据框分成两组:

  1. 训练数据集包含 2019 年之前的记录
  2. 测试数据集仅包含 2019 条记录

标签: pythonpandas

解决方案


Series.str.splitSeries.astype,Series.eq和一起使用Series.lt

In [358]: df1 = df[df['year-month'].str.split('-').str[0].astype(int).lt(2019)]

In [359]: df2 = df[df['year-month'].str.split('-').str[0].astype(int).eq(2019)]

In [360]: df1
Out[360]: 
  year-month company  GWh
0    2017-01       A  100
1    2018-02       A  110

In [361]: df2
Out[361]: 
  year-month company  GWh
2    2019-01       A   90
3    2019-02       A  105

推荐阅读