我有两个数据帧要合并为一个。我想将两列合并在一起。
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
我希望新的数据框看起来像这样:
Map<A, String> returnMap = new HashMap<>();
Map<A, List<Long>> mapLByA = //...
mapLByA.forEach((k, v) -> {
Optional<String> strOp = someMethod(v);
if (str.isPresent()) {
returnMap.put(k, strOp.get());
}
});
return returnMap;
我无法使其正常工作。
答案 0 :(得分:2)
重塑每个索引,以便仅剩数字:
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
答案 1 :(得分:0)
似乎您的两个数据框具有完美的增量索引。因此,如果相同的规则适用于大于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)