我有两个数据帧,我想知道从它们计算新表的大熊猫方式是什么。我的第二张表只是第一张表的反转位:
Exchange Ticker Price
0 bittrex BCH/BTC 0.158647
2 kraken BCH/BTC 0.158690
1 gdax BCH/BTC 0.158760
3 binance BCH/BTC 0.159110
3 1 2 0
Exchange binance gdax kraken bittrex
Ticker BCH/BTC BCH/BTC BCH/BTC BCH/BTC
Price 0.15911 0.15876 0.15869 0.158647
我希望计算两个表的Price值之间的百分比差异,并将此数据填充到新表中,例如https://data.bitcoinity.org/markets/arbitrage/USD
差异为((价格B - 价格A)/价格B)* 100
我是否需要创建一个2D数组并自己计算这些值,或者是否有更好的方法使用pandas?
答案 0 :(得分:1)
那么,你想要一个全对比较矩阵,像这样吗?
i, j = df.Price.values, df.Exchange.values
df2 = pd.DataFrame((i - i[:, None]) / i * 100, index=j, columns=j)
df2
bittrex kraken gdax binance
bittrex 0.000000 0.027097 0.071177 0.290994
kraken -0.027104 0.000000 0.044092 0.263968
gdax -0.071227 -0.044111 0.000000 0.219974
binance -0.291843 -0.264667 -0.220459 0.000000