Рассчитать новый панду DataFrame из двух датафреймов - PullRequest
0 голосов
/ 02 мая 2018

У меня есть два кадра данных, и мне интересно, каким был бы способ панд для вычисления из них новой таблицы. Моя вторая таблица - это просто обратное преобразование первой:

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

Нужно ли создавать двумерный массив и вычислять эти значения самостоятельно или есть лучший способ с пандами?

1 Ответ

0 голосов
/ 02 мая 2018

Итак, вы хотите матрицу сравнения всех пар, как это?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...