2016-04-01 21 views
1

Bir liste var.Python'da R'nin aasign() işlevinin analog işlevi nedir?

stud = ['mark', 'kael', 'joey', 'ash'] 

Stud listesindeki her bir öğeye bir dataframe atamak istiyorum. (örneğin, her bir öğeyi bir değişken ad olarak liste halinde) gibi.

mark = dataframe1 
kael = dataframe2 
joey = dataframe3 
ash = dataframe4 

Bunu, assign() işlevini kullanarak R'de yapabileceğimizi biliyorum. Bunu Pyhton'da nasıl başarabiliriz.

+0

burada Pandalar dataframe demek ?? –

+0

Bunun R'de mümkün olduğunu unutmayın, ancak aslında bunu yapmak için hiçbir neden yoktur. – Roland

cevap

0

Dizelerden değişken adlarını atamak için exec() kullanırım. Böyle şey:

dataframe1,dataframe2,dataframe3,dataframe4 = {'a'},{'b'},{'c'},{'d'} 
stud = ['mark', 'kael', 'joey', 'ash'] 
dfs = [dataframe1,dataframe2,dataframe3,dataframe4] 

for v,d in zip(stud,dfs): 
    exec('{}={}'.format(v,d)) 

>>> mark 
{'a'} 

dizelerin listesine nesneler listesinden dfs değiştirmek zorunda DataFrame kullanma: datafrane tarafından

from pandas import DataFrame 
import numpy as np 

dataframe1,dataframe2,dataframe3,dataframe4 = DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5)) 

stud = ['mark', 'kael', 'joey', 'ash'] 
dfs = ['dataframe1','dataframe2','dataframe3','dataframe4'] 

for v,d in zip(stud,dfs): 
    exec('{}={}'.format(v,d)) 
+0

{'a'} bir kümedir ve bir veri çerçevesi vermek istiyorum. Eğer veri çerçevelerini ** dfs ** içine geçirirsem, bana bir sözdizimi hatası verir. –

+0

Ardından, veri çerçevesinin adını dfs 'dfs = ['dataframe1', 'dataframe2', 'dataframe3', 'dataframe4']' dize olarak geçirin. –

İlgili konular