我有10个不同的dataframe,形状为1000*1000。我必须使用这些 Dataframe 的一部分进行训练和验证。现在我使用以下代码行来分离这个dfs:
df1_train = df1.loc[:, Start:end] df2_train = df2.loc[:,Start:end] df3_train = df3.loc[:,Start:end] ...
这使得很多行代码。我正在寻找一个更小的方式来做到这一点。你知道在Pandas或numpy的任何选项吗?谢谢
djmepvbi1#
IIUC,使用globals:
globals
list_dfs = ["df1", "df2", .. ] for df in list_dfs: globals()[f"{df}_train"] = eval(df).loc[:, Start:end]
或者,如果dataframes名称具有相同的模式(* 这里就是这种情况 *),请使用以下内容:
N = 10 # <- number of dataframes for i in range(N): df_name = f"df{i+1}" globals()[f"{df_name}_train"] = eval(df_name).loc[:, Start:end]
tp5buhyn2#
orig_dfs = [df1, ..., dfn] train_dfs = [] for df in orig_dfs: train_dfs.append(df.loc[:, start:end])
2条答案
按热度按时间djmepvbi1#
IIUC,使用
globals
:或者,如果dataframes名称具有相同的模式(* 这里就是这种情况 *),请使用以下内容:
tp5buhyn2#