#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