如何组合银行帐户中的两个数据框

时间:2018-06-12 20:38:43

标签: python pandas dataframe

我有两个数据框,其中包含来自两个银行帐户的交易。我只想将它们组合成一个数据帧。然而,这对我来说效果不佳。数据框称为dfJLcard,这里有一些信息

df.shape
(1405, 3)

JLcard.shape
(96, 3)

df.columns
Index([u'Transaction_Type', u'Transaction_Description', u'transaction'], dtype='object')

JLcard.columns
Index([u'Transaction_Description', u'transaction', u'Transaction_Type'], dtype='object')

因此,如果处于不同的顺序,两个数据帧具有相同的列名。

还有按日期编制的索引。

df.head(3)
Transaction_Type    Transaction_Description transaction
date            
2017-05-26  BGC UNIV    2997.71
2017-05-30  FPO PT  -2650.00
2017-05-30  SO  NS  664.00

JLcard.head(3)


Transaction_Description transaction Transaction_Type
date            
2017-12-11  MW  128.23  Js card
2017-12-12  WW  179.47  Js card
2017-12-13  XW  42.00   Js card

要将它们合并为一个数据框,我尝试了pd.concat([df,JLcard]),它给了我:

 FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=True'.

To retain the current behavior and silence the warning, pass sort=False

  """Entry point for launching an IPython kernel.

结果数据框也没有按索引排序。例如。

    Transaction_Description Transaction_Type    transaction
date            
2018-04-10  ES  DEB -16.57
2018-04-04  OR  Js card 109.30
2018-04-05  WR  Js card 125.00
  

为什么说"非连接轴没有对齐"?为什么   它说在它似乎没有的情况下进行排序?我该怎么办?   避免警告?我只是想从一个复制所有行   进入另一个并按索引排序(即日期)。

1 个答案:

答案 0 :(得分:0)

您可以尝试pd.merge(f,JLcard,left_index=True, right_index=True)