我有两个数据框,我想知道从它们计算新表的 pandas 方式是什么。我的第二个表只是第一个表的反向转置:
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
我希望计算两个表的价格值之间的百分比差异,并将这些数据填充到一个新表中,例如https://data.bitcoinity.org/markets/arbitrage/USD
差额为((价格 B - 价格 A)/价格 B)*100
我是否需要创建一个二维数组并自己计算这些值,或者是否有更好的 Pandas 方法?
最佳答案
那么,您想要一个像这样的全对比较矩阵吗?
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
关于python - 从两个数据帧计算一个新的 pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50141179/