我有一個包含 24 個 DataFrame 的串列,里面有兩年的每小時價格,我想指定一個 For 回圈,這樣每個 DataFrame 每天只顯示一個小時的價格。
我已經走了這么遠:
for i in range(24):
dfs[i] = dfs[i][dfs[i]['hour_0'] == 1]
因此,如果設定的小時(此處為“hour_0”)等于 1(在我的每小時虛擬變數中),這將獲取串列中的每一行并保留該行。
這里明顯的問題是這些代碼只提取一天的第一個小時,我想要像下面這樣的東西,它為每一行提取一個新的小時:
for i in range(24):
dfs[i] = dfs[i][dfs[i]['hour_i'] == 1]
但這不起作用。
感謝所有的幫助。
uj5u.com熱心網友回復:
你可以試試:
for i in range(24):
dfs[i] = dfs[i][dfs[i]['hour_' str(i)] == 1]
或者使用 f-string,它更干凈一些:
for i in range(24):
dfs[i] = dfs[i][dfs[i][f'hour_{i}'] == 1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/535777.html
標籤:Pythonfor循环
上一篇:在Cypress中迭代陣列
