2013-11-27 65 views
0

如何傳遞在Python參數創建新的數據幀,例如每次:添加前綴/後綴到數據幀的名稱或通「參數」到數據幀的名字在Python

import numpy as np 

for i in range(10): 
    df = DataFrame(np.random.rand(10, 3), columns=list('abc')) 
    print i , df 

這會給我不同的數據幀DF每一次,但我想我的DF輸出爲數據幀命名爲:

df1 , df2, df3 , df4 .. 

============================ ===================

import numpy as np 
name = ['one','two','three'] 
for i in range(3): 
    name_df = DataFrame(np.random.rand(10, 3), columns=list('abc')) 
    print i , name_df 

第二個例子,我想我的數據框的名稱是

one, two, three 

============================== ==================

這裏下面的函數

def data(t): 
    df_%s , %t = DataFrame(np.random.rand(10, 3), columns=list('abc')) 
    print df_%s , %t 
data('a') 
data('b') 

在這裏的功能我想獲得輸出數據框命名爲:

df_a , df_b 
+0

只需使用DataFrames創建字典'{'one':<...>,'two':<...>}'或使用DataFrame列表 –

回答

0

我不知道如何爲你所提到的,你可以準確的名字,但你可以改爲創建數據幀的字典是這樣的:

>>> df={} 
>>> for i in range(5): 
    df[str(i)] = pd.DataFrame(np.random.rand(10, 3), columns=list('abc')) 

和訪問他們爲df['0'],df['1'], etc.

如果一定需要命名它像你可以使用這個,

for i in range(5): 
    vars()['df_' +str(i)] = pd.DataFrame(np.random.rand(10, 3), columns=list('abc')) 

如果你需要設置的名稱withing功能將只提供withing的功能,因爲它會局部變量。在這種情況下,你可以使用字典。

相關問題