close

一、前言

python迴圈練習,迴圈、df迴圈、list迴圈、dict迴圈、多元素迴圈、雙迴圈,

我們都知道同樣的東西要做一百遍真的很煩,這時候不如做一個迴圈。

迴圈基本練習及操作,正式打開資料量化之路!(程式碼在第三段)

 

二、for迴圈語法概念

for 自訂變數 in 你要的範圍:
    撰寫邏輯及程式

舉例而言,i就會print出0到9(不是10唷要記住是10-1),

# 一般迴圈
for i in range(0, 10): # i由0跑到9
    print(i)

0

 

三、迴圈練習

完整程式碼

import pandas, numpy
import pandas_datareader as web


# 一般迴圈
for i in range(0, 10): # i由0跑到9
    print(i)


# list迴圈
list1 = ['nash', 'mark', 'jacky', 'draven']
for i in list1: # 把list1裡的元素跑過一遍
    print(i + '好帥')
    
    
# df迴圈
df = web.DataReader('2330.TW', 'yahoo') # 下載股市資料
for t in df.index: # 把df裡面index都跑一遍
    close = df['Close'][t] # 把收盤價第t個抽出
    print(close)
    
    
# 使用迴圈把資料放入dict
tickers = ['2330.TW', '2317.TW', '2454.TW'] # 想抓的股票
stock_dict = {} # 產生空字典
for ticker in tickers:
    df = web.DataReader(ticker, 'yahoo') # 下載股市資料
    stock_dict[ticker] = df # 把下載的股市資料放入字典


# dict迴圈
for k in stock_dict: # 對dict的key值跑一次
    df = stock_dict[k] # 在dict裡面抽出key值k的資料丟到df
    print(df) 


# 同一迴圈多變數
for i, j in zip(range(0, 3), tickers): # i跑range的 j跑tickers的 用zip包起來
    print(i, j)
    
    
# 雙迴圈
for i in range(0, 10): # 每層迴圈都要跑j的0-4 共10*5=50次
    for j in range(0, 5):
        print(i, j)

(1) 一般迴圈:用range來選定迴圈要遊歷的範圍,舉例如果是range(0,10)是從0到9

(2) list迴圈:會在指定的list把每個元素都遊歷一遍

(3) df迴圈:遊歷df可以對df.index跑迴圈,而後使用df['欄名'][迴圈變數]來對指定df欄位迴圈

(4) dict迴圈:for k in dict裡面,會對dict裡面的key值遊歷,而後用dict[k]來對整個字典遊歷

(5) 多變數迴圈:用zip把要遊歷的變數括弧起來,然後給相對應數量的迴圈自訂變數

(6) 多層迴圈:每跑完一層i會先跑完j全部,所以共會有i*j個輸出

 

四、後記

之後會把各種迴圈進階技巧分別來說明,主要會講解資料量化的迴圈使用方式~

有興趣的老鐵們幫我三連666~

arrow
arrow

    恩哥Python 發表在 痞客邦 留言(0) 人氣()