![](/img/trans.png)
[英]How to combine two data frames using merge or VLOOKUP functionality in Pandas
[英]How combine two data frames in pandas?
我有两个要合并为一个的数据框。 我想将两列组合在一起。
0
data_1_circulating_supply 17584875
data_2_circulating_supply 1.05209e+08
data_3_circulating_supply 41432141931
data_4_circulating_supply 6.08515e+07
data_5_circulating_supply 9.06245e+08
data_6_circulating_supply 17668725
data_7_circulating_supply 1.41175e+08
data_8_circulating_supply 1.99636e+09
data_9_circulating_supply 1.92156e+10
data_10_circulating_supply 6.66821e+10
0
data_1_symbol BTC
data_2_symbol ETH
data_3_symbol XRP
data_4_symbol LTC
data_5_symbol EOS
data_6_symbol BCH
data_7_symbol BNB
data_8_symbol USDT
data_9_symbol XLM
data_10_symbol TRX
我希望新的数据框看起来像这样:
BTC 17584875
ETH 1.05209e+08
XRP 41432141931
LTC 6.08515e+07
EOS 9.06245e+08
BCH 17668725
BNB 1.41175e+08
USDT 1.99636e+09
XLM 1.92156e+10
TRX 6.66821e+10
我无法让它工作。
重塑每个索引,以便只剩下数字:
df1.index = df1.index.str.split('_', n=2).str[1]
df2.index = df2.index.str.split('_', n=2).str[1]
然后将两个框架放在一起。
pd.concat([df2, df1], axis=1)
0 0
1 BTC 1.758488e+07
2 ETH 1.052090e+08
3 XRP 4.143214e+10
4 LTC 6.085150e+07
5 EOS 9.062450e+08
6 BCH 1.766872e+07
7 BNB 1.411750e+08
8 USDT 1.996360e+09
9 XLM 1.921560e+10
10 TRX 6.668210e+10
似乎您的两个数据帧具有完美的增量索引。 因此,如果相同的规则适用于大于 10 的行,您可以应用:
# [df1, df2]: your two dataframes
# axis=1: horizontally
# ignore_index=True: we don't need your previous indexes as row matches each other anyway
result = pd.concat([df1, df2], axis=1, ignore_index=True, sort=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.