鍍金池/ 問(wèn)答/Python/ Python 將csv文件的index處理后得到了幾個(gè)列表,然后想要按列表中的元

Python 將csv文件的index處理后得到了幾個(gè)列表,然后想要按列表中的元素為index從原csv文件中查找其在某一列的值

tmp保存csv的信息,如下圖所示
clipboard.png
然后按照f(shuō)1的大小將其排序:

score = tmp['f1'].order()
score.head()
len(score)

然后將整個(gè)數(shù)據(jù)5等分:

df = {}
close = tmp['close']
port1 = list(score.index)[: len(score)//5]
port2 = list(score.index)[ len(score)//5: 2*len(score)//5]
port3 = list(score.index)[ 2len(score)//5: -2len(score)//5]
port4 = list(score.index)[ -2*len(score)//5: -len(score)//5]
port5 = list(score.index)[ -len(score)//5: ]

想要按port的不同,分別獲取其中stock的close的值進(jìn)行相應(yīng)的計(jì)算

def caculate_port_daily_return(port,start,end,close):

for stock in port

如何獲取?請(qǐng)指教~謝謝~~~

回答
編輯回答
離魂曲
-------------------------------
port1 = list(score.index)[: len(score)//5]
port2 = list(score.index)[ len(score)//5: 2*len(score)//5]
port3 = list(score.index)[ 2len(score)//5: -2len(score)//5]
port4 = list(score.index)[ -2*len(score)//5: -len(score)//5]
port5 = list(score.index)[ -len(score)//5: ]
--------------------------------

from collections import deque

# deque([f1, f2, f3, f4, f5, f6, f7, f8, f9, f10])
list_ = deque(score.index)
eq = 5
el = len(score)//eq  # = 2

#     1         2         3         4         5    -> eq (然后將整個(gè)數(shù)據(jù)5等分)
#[[f1, f2], [f3, f4], [f5, f6], [f7, f8], [f9, f10]]
port = [[list_.popleft() for _ in range(el)] for _ in range(eq)]

i don't have any idea about "def calculate_port_daily_return"
check it plz: https://www.quantopian.com/posts/how-to-calculate-daily-return
2017年3月2日 23:17