我有以下熊貓資料幀:
df = pd.DataFrame([
[3, 2, 5, 2],
[8, 5, 4, 2],
[9, 0, 8, 6],
[9, 2, 7, 1],
[1, 9, 2, 3],
[8, 1, 1, 6],
[8, 8, 0, 0],
[0, 1, 3, 0],
[2, 4, 5, 3],
[4, 0, 9, 7]
])
我正在嘗試撰寫一個遞回函式來提取所有可能的路徑,直到 3 次迭代:

并將它們保存到串列中。多次嘗試,但沒有結果發布。
期望輸出:
[
[0, 3, 9, 4],
[0, 3, 9, 0],
[0, 3, 9, 9],
[0, 3, 9, 7],
[0, 3, 2, 9],
[0, 3, 2, 0],
...
]
表示為一棵樹,它是這樣的:

uj5u.com熱心網友回復:
由于您對資料框中的行和列都使用數字命名,因此將幀轉換為二維 numpy 陣列會更快。嘗試這個;
arr = df.to_numpy()
staging = [[0]]
result = []
while len(staging) > 0:
s = staging.pop(0)
if len(s) == 4:
result.append(s)
else:
i = s[-1]
for j in range(4):
staging.append(s [arr[i, j]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/359906.html
