logo
Loading...

在for迴圈內想使用.format命名多個variable名稱卻出現錯誤訊息? - Cupoy

問題:想使用for迴圈,將result(Dataframe)分割成依各station的Datafra...

format,for loop,顯示result的unique

在for迴圈內想使用.format命名多個variable名稱卻出現錯誤訊息?

2019/11/29 上午 01:46
Python網路爬蟲討論版
vivianoo
觀看數:2
回答數:4
收藏數:0
format
for loop
顯示result的unique

問題:

想使用for迴圈,將result(Dataframe)分割成依各station的Dataframe, 並指定給各別的variable,variable名稱規則:{stationId}_data;但在執行時出現錯誤訊息。

Code:

for i in list_station:

    '{}_data'.format(i) = result[result['station']==i]

Expect output:

(5個variables,如下)

796C_data

796E_data

794D_data

801B_data

7894_data

錯誤訊息:

SyntaxError: can't assign to function call


Data:

result(Dataframe) as below:      #result的Dataframe未完整,有包含list_station內的其他station資料,截圖未呈現。

list_station = ['796C', '796E', '794D', '801B', '7894']  #顯示result的unique station value

回答列表

  • 2019/11/29 上午 07:57
    Jeffrey
    贊同數:0
    不贊同數:0
    留言數:0

    圓括號()表示函數調用

    方括號[]表示列表值的引用

  • 2019/11/29 上午 10:00
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:1

    嗨,  '{}_data'.format(i) 這個用法是從哪裡參考到的?好像沒看過這種用法。這一段可以改成這樣寫:


    ```

    vars()[i+'_data'] = ...

    ```

  • 2019/11/29 上午 11:11
    寶寶
    贊同數:0
    不贊同數:0
    留言數:0

    這個應該是在輸出資料格式化才用到吧

    變數在內部使用這樣寫他無法指派

  • 2019/11/30 下午 11:31
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    用這個就命名成功了!不過我要改成vars()['data_'+str(i)],非常感謝!


    => 恭喜,你原本的 format 用法應該不適用在這裡。