我想为一个 Dataframe 列表实现一个训练-测试-验证分割。
对于单个 Dataframe ,我可以:
train, validate, test = np.split(df.sample(frac=1, random_state=42), [int(.6*len(df)), int(.8*len(df))])
然而,我无法实现它的 Dataframe 列表。
import pandas as pd
train, validate, test = zip(*[(dfs[i][np.split(dfs[i].sample(frac=1, random_state), [int(.6*len(dfs[i])), int(.8*len(dfs[i]))]) for i in range(len(dfs))])])
追溯:
SyntaxError: positional argument follows keyword argument
2条答案
按热度按时间xyhw6mcr1#
由于zip方法试图将 Dataframe 解压缩到单独的变量中,因此我将通过将集合存储到单独的列表中来稍微不同地设计结构。
也许下面的代码可以帮助您解决问题:
之后你可以通过相应的索引来处理它们。
vngu2lb82#