2016-07-22 12 views
0

Als Teil des Codes muss ich einer dynamischen Variable, die während des Prozesses erstellt wurde, einen Datenrahmen zuweisen.Wie man Datenrahmen zu dynamischer Variable zu Python zuweist?

Ich habe Forschung auf Wert zuweisen, wie unten:

I = 1 
x = 'varName'+str(I) 
exec("%s = %d" % (x,2)) 

varName1 

Aber wie es für Datenrahmen zu tun?

Dank

+0

Python 2.7? 3.x? Du solltest dict's anschauen, ich bin kein großer Fan von evals und execs, es macht den Code für einen unlesbar und ich glaube es ist keine gute Übung. Ein Diktat könnte genau das sein, was Sie wollen, es ist im Wesentlichen eine Hash-Tabelle, mit der Sie einem Wert einen Schlüssel zuweisen können {key: value} oder in Ihrem Fall eine Zeichenfolge aus einem Namen für einen DataFrame. Sie könnten ein wenig mehr Erklärungen für das Problem selbst hinzufügen, das Sie mit einem weniger konzeptionellen und praktikableren Codebeispiel zu lösen versuchen. – nico

Antwort

0

"dynamische Variablen" sind ein Antipattern. Was Sie wollen, ist entweder ein dict:

vars = {} 
key = "something_%s" % another_string 
vars[key] = something() 

oder (wahrscheinlicher, da Sie scheinen einige numerischen Index zu verwenden):

vars = [] 
for whatever in (some_sequence): 
    val = something(whatever) 
    vars.append(val) 

die FWIW neu geschrieben werden können einfacher als:

vars = [something(whatever) for whatever in some_sequence] 
Verwandte Themen