python - 使用用户定义函数声明 pandas 系列

标签 python function series nameerror

我正在尝试用函数简化一些代码。目的是使用该函数声明空白系列以便稍后填充。

代码当前在单独的行上声明每个系列,如下所示:

series1=pd.Series()

series2=pd.Series()

这种方法效果很好,但对于许多系列来说会使代码冗长。

我想执行以下操作:

创建要在函数中使用的空白对象列表,名称为series1、series2等,或者为每个对象指定一个更具描述性的名称

series_list=[series1,series2]

声明函数

def series(name):
    name=pd.Series()
    return name

使用输入调用函数

for i in series_list:
    series(i)

但是,当我尝试声明 series_list 时,它返回 NameError: [variable] 未定义。有没有办法用空对象填充series_list(即没有数据但名称为series1,series2,...series1000)?

最佳答案

以下是如何迭代实例化 Series 对象,然后使用生成的列表分配给已知变量

def assign_series(n):
    series_list = []
    #series_dict = {}
    num_of_series = n

    for i in range(num_of_series):
        series_list.append(pd.Series())
        #or if you want to call them by name
        #series_dict['series'+str(i)] = pd.Series()
    return series_list

corporate_securities, agency_securities, unrealized_gainloss = assign_series(3)

corporate_securities
Series([], dtype: float64)

关于python - 使用用户定义函数声明 pandas 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59360539/

相关文章:

python - 基于字典高效替换数组中的元素 - NumPy/Python

python - 从线到给定点的距离(给定线的起点和终点)

javascript - 我想创建用户定义的函数来 trim Javascript 中的单词

python - 使用带有多键字典的 series.map

python - 如何转发/填充 Pandas DataFrame 列/系列中的特定值?

python - 如何从不同的终端向在 linux 的终端窗口上运行的 python 程序提供 raw_input,所有这些都在同一个 UNIX 上运行

python - 在 python 中通过 SSH 运行远程 mysqldump

c++ - 类函数/变量是否必须在使用前声明?

python - 当我运行这个时,我得到一个 "None"来回答而不是我的问题

python - 如何将值是列表的系列的值折叠成唯一列表