在熊猫的concant过程中,请使用不同的列名



我有两个数据帧

df1

created_at      centre          product_id          qty         sale_value      many_more_columns
2021-05-24      london          aa                  10          5.00            ...
2021-05-24      paris           bb                  5           5.00            ...
2021-05-24      paris           aa                  7           5.00            ...
2021-05-24      rome            cc                  6           5.00            ...

df2

day_id          prod_id     branch_name         order_id    sales           many_more_columns   
2018-01-30      ab          paris               4           976.00          ...
2018-02-06      ds          london              1           5.00            ...
2018-07-20      gf          oslo                1           49.00           ...
2018-09-30      aa          rome                2           3.00            ...
2019-01-14      bb          rome                3           25.00           ...

我正在尝试联系这些数据帧,以便这些列位于的下方

  • created_at-day_id
  • center-branch_name
  • product_id-prod_id
  • 数量-订单id
  • sale_value-销售额

其余列不同,我想用np.nan值填充这些列。

所以结果看起来是这样的:

created_at      centre          product_id          qty         sale_value      many_more_columns
2021-05-24      london          aa                  10          5.00            ...
2021-05-24      paris           bb                  5           5.00            ...
2021-05-24      paris           aa                  7           5.00            ...
2021-05-24      rome            cc                  6           5.00            ...
2018-01-30      paris           ab                  4           976.00          np.nan
2018-02-06      london          ds                  1           5.00            np.nan
2018-07-20      oslo            gf                  1           49.00           np.nan
2018-09-30      rome            aa                  2           3.00            np.nan
2019-01-14      rome            bb                  3           25.00           np.nan

在使用pd.concat([df1, df2])之后,使df2向右移动,这是预期的。有没有一种方法可以告诉熊猫,在其他数据帧中,一列和另一列是一样的?我可以考虑重命名df2列以匹配df1,但我想知道是否有办法用pd.concat实现这一点。

try:

d={'day_id': 'created_at',
'branch_name': 'centre',
'prod_id': 'product_id',
'order_id': 'qty',
'sales': 'sale_value'}

最后:

out=pd.concat([df1,df2.rename(columns=d)])

out=df1.append(df2.rename(columns=d))

相关内容

最新更新