Я пытаюсь перебрать строки в Серии внутри Pandas DataFrame. Я хотел бы взять значение в каждой строке столбца csv_df['Strike']
и вставить его в переменную K
, которая вызывается в функции a
.
Затем я хочу, чтобы выходные данные a1
и a2
были помещены в свои собственные столбцы внутри DataFrame.
Я получаю сообщение об ошибке: TypeError: unsupported operand type(s) for *: 'int' and 'zip'
, и я полагаю, что если я смогу узнать, какие операнды поддерживаются, я мог бы преобразовать a1
и a2
в это.
Правильно ли я думаю об этом?
Примечание: S
- это просто статическое число, поскольку df - это всего одна строка, тогда как K
имеет много строк.
Код ниже:
from scipy.stats import norm
from math import sqrt, exp, log, pi
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import fix_yahoo_finance as yf
yf.pdr_override()
import numpy as np
import datetime
from pandas_datareader import data, wb
import matplotlib.pyplot as plt
#To get data:
start = datetime.datetime.today()
end = datetime.datetime.today()
df = data.get_data_yahoo('AAPL', start, end) #puts data into a pandas dataframe
csv_df = pd.read_csv('./AAPL_TEST.csv')
for row in csv_df.itertuples():
def a(S, K):
a1 = 100 * K
a2 = S
return a1
S = df['Adj Close'].items()
K = csv_df['strike'].items()
a1, a2 = a(S, K)
df['new'] = a1
df['new2'] = a2