python - 如何在循环过程中将 df 附加到另一个 df

标签 python python-3.x pandas

此代码获取数据并将数据制成一个循环并运行直到循环完成。

所以我需要在每个进程完成后将数据附加到存储数据的 df

代码:

a = "SELECT id FROM USER WHERE time >'2018-03-01'"
dataa = pd.read_sql_query(a, con=engine)
print(dataa)

for userid in dataa:
   x=f"SELECT idbody FROM col1 WHERE user_id='{userid}'"
   data = pd.read_sql_query(x,con = engine)

所以这里的数据得到处理,每次产生的数据都是不同的,需要将数据附加到一个 df 中,该 df 存储所有被处理的数据

最佳答案

在循环中或通过列表理解将值附加到 list 并且只使用一次 concat :

a = "SELECT id FROM USER WHERE time >'2018-03-01'"
dataa = pd.read_sql_query(a, con=engine)

dfs = []
for userid in dataa:
    x=f"SELECT idbody FROM col1 WHERE user_id='{userid}'"
    data = pd.read_sql_query(x,con = engine)
    dfs.append(data)

df = pd.concat(dfs, ignore_index=True)

dfs = [pd.read_sql_query(f"SELECT idbody FROM col1 WHERE user_id='{userid}'",con = engine) 
       for userid in dataa]

df = pd.concat(dfs, ignore_index=True)

关于python - 如何在循环过程中将 df 附加到另一个 df,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55702440/

相关文章:

Python:如何编写虚拟环境构建和激活脚本?

python - pandas 找到与 df 中的前一行具有相同值的最后一行

python - Pandas unstack()和pivot() : MemoryError

python - 实现一个 `Card` 类

python - Flask - 如何结合 Flask-WTF 和 Flask-SQLAlchemy 来编辑数据库模型?

python - 在__main__中调用While循环函数吗?

python - 在不产生黑色外壳窗口的情况下启动 GUI 进程

python - 生成具有浮点值的列表

python - Pandas 数据框删除每个数字的第一行

Python 列表理解循环