pandas 特殊类型的 Dataframe 合并-根据日期值插入 Dataframe

3pvhb19x  于 2023-01-07  发布在  其他
关注(0)|答案(2)|浏览(143)

df_1如下所示-

date      id  score
2019-05    5   78.9
2019-06    5   77.5
2019-07    5   80.2
2019-08    5   82.0
2019-05    2   79.9
2019-06    2   69.3
2019-07    2   75.2
2019-08    2   80.0
2019-05    70  68.8
2019-06    70  67.5
2019-07    70  70.2
2019-08    70  86.0

df_2如下所示-

date      id  score
2019-01    2   79.1
2019-02    2   79.2
2019-03    2   75.2
2019-04    2   80.0
2019-01    5   78.9
2019-02    5   78.5
2019-03    5   80.8
2019-04    5   82.8
2019-01    70  68.4
2019-02    70  72.2
2019-03    70  70.5
2019-04    70  81.0

如何根据dateid将它们合并到一个 Dataframe 中,导致-

date      id  score
2019-01    2   79.1
2019-02    2   79.2
2019-03    2   75.2
2019-04    2   80.0
2019-05    2   79.9
2019-06    2   69.3
2019-07    2   75.2
2019-08    2   80.0
2019-01    5   78.9
2019-02    5   78.5
2019-03    5   80.8
2019-04    5   82.8
2019-05    5   78.9
2019-06    5   77.5
2019-07    5   80.2
2019-08    5   82.0
2019-01    70  68.4
2019-02    70  72.2
2019-03    70  70.5
2019-04    70  81.0
2019-05    70  68.8
2019-06    70  67.5
2019-07    70  70.2
2019-08    70  86.0
ckx4rj1h

ckx4rj1h1#

使用pd.concat

pd.concat([df_1, df_2]).sort_values(["date", "id"]).reset_index(drop=True)
rdrgkggo

rdrgkggo2#

串联和排序值

pd.concat([df1, df2]).sort_values(['id', 'date'])
date  id  score
0   2019-01   2   79.1
1   2019-02   2   79.2
2   2019-03   2   75.2
3   2019-04   2   80.0
4   2019-05   2   79.9
5   2019-06   2   69.3
6   2019-07   2   75.2
7   2019-08   2   80.0
4   2019-01   5   78.9
5   2019-02   5   78.5
6   2019-03   5   80.8
7   2019-04   5   82.8
0   2019-05   5   78.9
1   2019-06   5   77.5
2   2019-07   5   80.2
3   2019-08   5   82.0
8   2019-01  70   68.4
9   2019-02  70   72.2
10  2019-03  70   70.5
11  2019-04  70   81.0
8   2019-05  70   68.8
9   2019-06  70   67.5
10  2019-07  70   70.2
11  2019-08  70   86.0

相关问题