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

Posted

技术标签:

【中文标题】将前缀/后缀添加到数据框名称或将“参数”传递给 python 中的数据框名称【英文标题】:Add prefix / suffix to dataframe name or pass 'parameter' into dataframe name in python 【发布时间】:2013-11-27 08:40:25 【问题描述】:

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

【问题讨论】:

只需使用 DataFrames 'one': <...>, 'two': <...> 创建字典或使用 DataFrames 列出 【参考方案1】:

我不知道你怎么能完全按照你提到的那样命名,但你可以像这样创建数据框字典:

>>> 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 one。

【讨论】:

以上是关于将前缀/后缀添加到数据框名称或将“参数”传递给 python 中的数据框名称的主要内容,如果未能解决你的问题,请参考以下文章