我有两个数据框,其中包含来自两个银行帐户的交易。我只想将它们组合成一个数据帧。然而,这对我来说效果不佳。数据框称为df
和JLcard
,这里有一些信息
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
为什么说"非连接轴没有对齐"?为什么 它说在它似乎没有的情况下进行排序?我该怎么办? 避免警告?我只是想从一个复制所有行 进入另一个并按索引排序(即日期)。
答案 0 :(得分:0)
您可以尝试pd.merge(f,JLcard,left_index=True, right_index=True)