此代码获取数据并将数据制成一个循环并运行直到循环完成。
所以我需要在每个进程完成后将数据附加到存储数据的 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/