将前缀/后缀添加到数据帧名称或将“参数”传递到python中的数据帧名称

时间:2013-11-27 08:40:25

标签: python pandas dataframe

如何在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

1 个答案:

答案 0 :(得分: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'))

如果您需要使用函数设置名称,则只能使用函数,因为它将是一个局部变量。在这种情况下,您可以使用dict。