在for迴圈內想使用.format命名多個variable名稱卻出現錯誤訊息?
問題:
想使用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:57Jeffrey贊同數: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 用法應該不適用在這裡。