首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫-协调数据采集

熊猫-协调数据采集
EN

Stack Overflow用户
提问于 2022-06-14 13:20:02
回答 3查看 98关注 0票数 2

我有一个带有if语句的脚本,它有14种可能的数据格式

代码语言:javascript
复制
['result_14', 'result_13', 'result_12', 'result_11', 'result_10', 'result_9', 'result_8', 'result_7', 'result_6', 'result_5', 'result_4', 'result_3', 'result_2', 'result_1']

不是每次运行脚本时都会创建所有的数据文件。它依赖于一个次要输入变量。我现在正在尝试连接数据文件,但与那些不存在的数据文件发生了冲突。

代码语言:javascript
复制
pd.concat(([result_14, result_13, result_12, result_11, result_10, result_9, result_8, result_7, result_6, result_5, result_4, result_3, result_2, result_1]), ignore_index=True)

NameError: name 'result_13' is not defined

我尝试找到python内存中存在的所有dfs并解析结果,但是这会创建一个列表,而不是一个数据文件列表。

代码语言:javascript
复制
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]
SelectDFs = [s for s in alldfs if "result" in s]
SelectDFs

['result_14', 'result_15', 'result_12', 'result_11', 'result_10', 'result_9', 'result_8', 'result_7', 'result_6', 'result_5', 'result_4', 'result_3', 'result_2', 'result_1']

pd.concat(([SelectDFs]), ignore_index=True)
TypeError: cannot concatenate object of type '<class 'list'>'; only Series and DataFrame objs are valid
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-14 13:28:13

你可以试试

代码语言:javascript
复制
%who_ls  DataFrame
# %whos DataFrame

在你的情况下

代码语言:javascript
复制
l = %who_ls  DataFrame
pd.concat([eval(dfn) for dfn in l if dfn.startswith('result')], ignore_index=True)
票数 2
EN

Stack Overflow用户

发布于 2022-06-14 13:24:22

您正在传递字符串列表,而不是Dataframe对象。

一旦您能够获得DF对象,就可以不带括号地传递SelecteDFs

代码语言:javascript
复制
pd.concat(SelectDFs, ignore_index=True)
票数 0
EN

Stack Overflow用户

发布于 2022-06-14 13:25:36

你试过把它们转换成DFs吗?我的意思是,当您想要连接它们时,会产生一个错误,即您的数据需要比列表更简单,那么您是否尝试过将您的列表转换为DFs呢?

此链接可能有助于您:Convert List to Pandas Dataframe Column

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72617713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档