zsa*_*512 3 python merge pandas
我有3个数据帧我想在大熊猫中合并.一个是20列,另外两个每列有2列.他们是这样组织的:
eth_price.head(n=3)
Out[6]:
time eth_price
0 8/28/17 16:19 344.021
2 8/28/17 16:24 343.833
3 8/28/17 16:29 343.643
btc_price.head(n=3)
Out[7]:
time btc_price
0 2017-08-27 22:50:00 4,389.6113
1 2017-08-27 22:51:00 4,389.0850
2 2017-08-27 22:52:00 4,388.8625
block_data.head(n=3)
Out[8]:
time block_size difficulty estimated_btc_sent \
0 2017-08-30 22:55:03 165261989 888171856257 22433058065308
5 2017-08-30 23:02:03 165261989 888171856257 22433058065308
12 2017-08-30 23:09:03 164262692 888171856257 22210602766312
estimated_transaction_volume_usd hash_rate market_price_usd \
0 1.030796e+09 7.417412e+09 4594.98
5 1.030796e+09 7.417412e+09 4594.98
12 1.020574e+09 7.373261e+09 4594.98
miners_revenue_btc miners_revenue_usd minutes_between_blocks \
0 2495 11467926.77 7.98
5 2495 11467926.77 7.98
12 2478 11388475.85 8.01
n_blocks_mined n_blocks_total n_btc_mined n_tx nextretarget \
0 168 482713 210000000000 273392 483839
5 168 482713 210000000000 273392 483839
12 167 482713 208750000000 271638 483839
total_btc_sent total_fees_btc totalbtc trade_volume_btc \
0 164688219250248 39574691936 1653391250000000 44110.58
5 164688219250248 39574691936 1653391250000000 44110.58
12 163455939539341 39095614135 1653391250000000 44110.58
trade_volume_usd
0 2.026876e+08
5 2.026876e+08
12 2.026876e+08
Run Code Online (Sandbox Code Playgroud)
我试图合并使用all_data = pd.merge(btc_price, eth_price, block_data, on = 'time', how = 'outer')
但是当我这样做时,我收到以下错误:
文件"",第1行,在all_data = pd.merge(btc_price,eth_price,block_data,on ='time',how ='outer')
TypeError:merge()获得参数'how'的多个值
这是什么意思,我该如何解决?
最终结果应该是一个包含22列的数据帧,包括来自所有3 df的所有行.然后我将删除缺少值的行.
编辑:如果你看时间戳,前一个2 df发生在分钟,而第三个发生在03秒......有没有办法解决这个问题?我有一个脚本,每分钟从json拉这3个文件,我试图相应地对齐3 df
pd.merge
只能合并两个 DataFrame.第三个参数(block_data
在您的情况下)被解释为"如何".您还提供了命名how='outer'
,这就是您看到错误消息的原因.解决您的问题:合并前两个DataFrame,然后将结果与第三个合并.
归档时间: |
|
查看次数: |
6283 次 |
最近记录: |