Фрейм данных конвертации валют — пропускать столбцы

#python #pandas #dataframe

#python #панды #Фрейм данных

Вопрос:

Я извлекаю данные биржевого тикера Yahoo и хочу конвертировать данную валюту в евро. Для этой цели я использую конвертер валют библиотеки Python и метод pandas multiply.

Один из столбцов, объем торгов, не должен быть «конвертирован» — каков наилучший способ пропустить его? Это то, что у меня сейчас есть:

 import pandas as pd
import datetime
import pandas_datareader.data as web
from pandas import Series, DataFrame
from currency_converter import CurrencyConverter

start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2020, 12, 31)

c = CurrencyConverter()

df = web.DataReader("EXK", 'yahoo', start, end)
df.tail()

conversion = c.convert(1, 'USD', 'EUR')

eurodf = df.multiply(conversion,axis='rows')
eurodf.tail()
 

Один из подходов, который я подумал о том, чтобы использовать, состоял в том, чтобы, возможно, присоединиться к столбцу «объем» после умножения.
В качестве альтернативы я мог бы просто настроить таргетинг на этот один столбец и преобразовать его обратно?

Ответ №1:

Вы можете loc использовать все столбцы, кроме одного. Например:

    A  B  C
0  0  1  2
1  3  4  5
2  6  7  8

df.loc[:, df.columns.drop('B')] *= 10
 

Результат:

     A  B   C
0   0  1  20
1  30  4  50
2  60  7  80