首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“‘for”循环不会循环

“‘for”循环不会循环
EN

Stack Overflow用户
提问于 2020-10-25 02:42:48
回答 1查看 65关注 0票数 0

下面的for循环旨在使用col_list中的元素(其中当前有4个元素)创建由附加表组成的dataframe。但是,它不起作用,并且只从一个表而不是四个表中产生内容。

代码语言:javascript
复制
col_list = df['ref_name'].tolist()

df_all = None
conn = sqlite3.connect('all_data.db')
for col in col_list:
    query = "SELECT * FROM " + col + ";"
    df = pd.read_sql_query(query, conn)
    if df_all is not None:
        df_all.append(df)
    else:
        df_all = df
conn.close()
df_all = df_all.sort_values(by = 'date')
df_all = df_all.reset_index(drop=True)
EN

回答 1

Stack Overflow用户

发布于 2020-10-25 02:51:35

df.append()不会就地更改数据帧,它会返回一个新的数据帧。简单的解决方法:

代码语言:javascript
复制
df_all = df_all.append(df)

此外,正如评论中所指出的,更有效的方法是:

代码语言:javascript
复制
df_all = pd.concat(
    pd.read_sql_query("SELECT * FROM " + col + ";", conn) # TODO: parametrize the query
    for col in col_list)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64516827

复制
相关文章

相似问题

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