python - rbindlist相当于Python中R的函数

标签 python pandas list concatenation

首先,我根据 num_vars 的长度创建空列表,并将每个循环的输出存储在一个列表中。 之后,我想合并所有输出并将其转换为 pandas 数据帧。

为此,我们可以简单地使用 R 中的 rbindlist 来组合列表对象。

为此我使用了以下 python 代码。

ests_list=[[] for i in range(num_vars)]

for i in list(range(0,num_vars)):
    for j in list(range(1,num_vars+1))
        ests_list[i]=pd.merge(df1,
                              df2,
                              how='left',
                              on=eval('combine%s'%j+'_lvl'))

pd.concat(ests_list)

当我尝试上述语法时,它会抛出以下错误:

TypeError: cannot concatenate object of type "<class 'list'>"; only 
pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid

请任何人都可以帮助我解决这个问题。

提前致谢。

最佳答案

我找到了解决问题的方法:

ests_list=[]
for i in list(range(1,num_vars)):
    ests_list.append(df1.merge(df2,how='left',on=eval("combine%s"%i+"_lvl")))
pd.concat(ests_list)

我正在创建一个空列表,并将每个循环输出添加到其中。

然后我使用 pd.concat 函数组合所有列表,因此它以 pandas 数据帧格式提供输出。

关于python - rbindlist相当于Python中R的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52163474/

相关文章:

python - pandas 数据框中的 Excel 工作表名称

python - 在 Pandas 中 reshape GroupBy 并用 nan 填充(如果丢失)

pandas - Pandas 按列值排名

Python:在列表中搜索值

python - 从 Python 中的列表中删除数字的倍数

产生文本文件交替行的 Pythonic 方法

python - 标签传播 - 数组太大

jquery - 如何在jquery中动态排序列表项?

python - 如何将 Python 中 OHLC 数据框中的日期条目转换为字符串,以便使用日期时间模块检查日期

python - 将 XML 数据与来自 XML 模式的数据类型信息相结合