0
시계열 데이터와 iterrows에 대한 작업을 수행하려고합니다. 나는 날짜에 값을 추가하는 기능을 만들 수 있었지만 팬더는 사용하지 않았습니다. 또한 곱셈, 뺄셈, 나누기 등을 사용하여 어떻게 처리할지 알아낼 수 없습니다.파이썬 판다 iterrow 합계 나누기 빼기
from operator import *
import pandas as pd
import requests
prices_url = r'https://gist.githubusercontent.com/ryan413/596811e3cd15ad891f7cb3cf8ab7c78b/raw/af359e13b26af7699a2afedc9b148dbb19df25b3/prices.csv'
r = requests.get(prices_url)
with open("prices.csv", 'w', encoding='utf-8') as f:
f.write(r.text)
df = pd.read_csv('prices.csv',index_col=0, header=0)
# df.columns = Index(['EUR', 'CAD', 'NOK', 'SPY', 'EUR.1'], dtype='object')
# EUR CAD NOK SPY EUR.1
# 2/7/2017 31.234616 5.117412 72.662151 93.685559 73.176038
# 2/8/2017 31.428942 5.471865 72.547450 93.860313 73.889394
# 2/9/2017 30.871875 4.984493 73.030060 94.652531 72.944198
# 2/10/2017 30.716414 4.918033 73.614387 95.182618 75.887682
# 2/13/2017 30.133437 5.305716 74.164088 95.916584 76.568937
def add_rows(df_prices):
row_sum = {}
for idx, col in df_prices.iterrows():
row_sum[idx] = sum(col)
return row_sum
sum_of_rows = add_rows(df)
for k,v in sum_of_rows.items():
print(k," - ", v)
# 2/7/2017 - 275.875777014
# 2/8/2017 - 277.197963968
# 2/9/2017 - 276.483156429
# 2/10/2017 - 280.319134197
# 2/13/2017 - 282.088761272
# 2/14/2017 - 280.555245767
# 2/15/2017 - 281.487035784
# 2/16/2017 - 281.282552346
# 2/17/2017 - 280.508299074
# values in each row are added together
1 : 팬더를 사용하면 더 쉬운 방법이 있습니까?
def multiplication(df_prices):
row_multiply = {}
for idx, col in df_prices.iterrows():
row_multiply[idx] = mul(col,col)
return row_multiply
mult_of_rows = multiplication(df)
for k, v in mult_of_rows.items():
print(k, " - ", mul(v, v))
#
# 3/3/2017 - EUR 926.858939
# CAD 7.304602
# NOK 5603.190074
# SPY 9842.184083
# EUR.1 5915.492570
# Name: 3/3/2017, dtype: float64
# trying to multiply each of the the values with each other
# EUR * CAD * NOK * SPY = value I'm trying to get for each of the rows
질문 2 : 동일한 작업을 어떻게하면 좋을까요? 분할? 빼기? 여기
차가움. 고맙습니다 – mac