Python 将Spark数据帧拆分为训练和测试
我想将我的Spark数据帧拆分为训练,并在以下条件下进行测试-Python 将Spark数据帧拆分为训练和测试,python,pandas,pyspark,Python,Pandas,Pyspark,我想将我的Spark数据帧拆分为训练,并在以下条件下进行测试- 我希望能够复制分割,这意味着每个 时间相同的数据帧,我将能够到相同的分割 拆分应从列名sequence-id的每个唯一值中提取 目前,我通过将Dataframe转换为Pandas Dataframe并执行以下操作来实现- test_padnas = df.toPandas() train_frac = 0.8 train = test_padnas.sort_values(by='sequence_id','timestamp']
test_padnas = df.toPandas()
train_frac = 0.8
train = test_padnas.sort_values(by='sequence_id','timestamp']).groupby('sequence_id',group_keys=False).apply(lambda df: df.sample(frac=train_frac,random_state=200))
test=test_padnas.drop(train.index)
如果df是Spark数据帧,则可以使用
randomspilt()
函数根据权重百分比分割数据帧
此外,它接受一个种子,您可以使用该种子初始化随机分割数据的伪随机数生成器,因此每次都具有相同的分割
train, test = df.randomSplit(weights=[0.8,0.2], seed=200)
如果df是Spark数据帧,则可以使用
randomspilt()
函数根据权重百分比分割数据帧
此外,它接受一个种子,您可以使用该种子初始化随机分割数据的伪随机数生成器,因此每次都具有相同的分割
train, test = df.randomSplit(weights=[0.8,0.2], seed=200)