下面的for循环旨在使用col_list中的元素(其中当前有4个元素)创建由附加表组成的dataframe。但是,它不起作用,并且只从一个表而不是四个表中产生内容。
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)发布于 2020-10-25 02:51:35
df.append()不会就地更改数据帧,它会返回一个新的数据帧。简单的解决方法:
df_all = df_all.append(df)此外,正如评论中所指出的,更有效的方法是:
df_all = pd.concat(
pd.read_sql_query("SELECT * FROM " + col + ";", conn) # TODO: parametrize the query
for col in col_list)https://stackoverflow.com/questions/64516827
复制相似问题