0
作爲代碼的一部分,我需要將一個數據框分配給在此過程中創建的動態變量。如何將數據框分配給動態變量爲python?
我做了如下分配價值研究:
I = 1
x = 'varName'+str(I)
exec("%s = %d" % (x,2))
varName1
但如何做到這一點的數據幀?
感謝
作爲代碼的一部分,我需要將一個數據框分配給在此過程中創建的動態變量。如何將數據框分配給動態變量爲python?
我做了如下分配價值研究:
I = 1
x = 'varName'+str(I)
exec("%s = %d" % (x,2))
varName1
但如何做到這一點的數據幀?
感謝
「動態變量」 是一個反模式。你想要的是無論是dict
:
vars = {}
key = "something_%s" % another_string
vars[key] = something()
或(更可能是因爲你似乎可以用一些數字指標):
vars = []
for whatever in (some_sequence):
val = something(whatever)
vars.append(val)
這FWIW可以更簡單地改寫爲:
vars = [something(whatever) for whatever in some_sequence]
python 2.7? 3.X?你應該看看dict的,我不是一個對evals和execs的忠實粉絲,它讓代碼難以理解,我相信這不是一個好習慣。字典可能正是你想要的,它本質上是一個哈希表,它允許你爲鍵值賦值{key:value},或者在你的情況下爲一個DataFrame賦一個名稱的字符串。你可以添加一點點更多的解釋,你正試圖用一個不太概念和更實用的代碼示例來解決問題本身。 – nico