Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果行匹配,PySpark将列值设置为另一个数据帧值_Python_Apache Spark_Dataframe_Pyspark - Fatal编程技术网

Python 如果行匹配,PySpark将列值设置为另一个数据帧值

Python 如果行匹配,PySpark将列值设置为另一个数据帧值,python,apache-spark,dataframe,pyspark,Python,Apache Spark,Dataframe,Pyspark,嗨,我想检查spark dataframe列值,并根据检查行名称是否与另一个dataframe行匹配来设置它 例如: df1: average name 3.5 n1 1.2 n2 4.2 n3 df2: name n1 n1 n1 n2 n3 n1 n2 n3 n3 df_i_want: average name 3.5 n1 3.5 n1 3.5 n1 1.2 n2 4.2

嗨,我想检查spark dataframe列值,并根据检查行名称是否与另一个dataframe行匹配来设置它

例如:

df1:
average name
3.5      n1
1.2      n2
4.2      n3

df2:
name    
n1     
n1        
n1    
n2
n3
n1
n2
n3
n3

df_i_want:
average name
3.5      n1
3.5      n1
3.5      n1
1.2      n2
4.2      n3
3.5      n1
1.2      n2
4.2      n3
4.2      n3

您需要加入才能执行此任务:

## join both data on name
df3 = df2.join(df1, on='name',how='left')

# change column sequence
df3 = df3.select('average','name')

# order by name values
df3 = df3.orderBy('name', ascending=True)

您需要加入才能执行此任务:

## join both data on name
df3 = df2.join(df1, on='name',how='left')

# change column sequence
df3 = df3.select('average','name')

# order by name values
df3 = df3.orderBy('name', ascending=True)

你所需要做的就是加入

您可以实现如下结果

将数据框
df2
name
上的
df1
连接,然后选择所需列的顺序

df3 = df2.join(df1, on = 'name').select('average', 'name')

上面的代码片段应该会为您提供所需的结果

您所需要做的就是加入
Join

您可以实现如下结果

将数据框
df2
name
上的
df1
连接,然后选择所需列的顺序

df3 = df2.join(df1, on = 'name').select('average', 'name')

上面的代码片段应该会给你想要的结果

为什么你们会投反对票请解释?为什么你们会投反对票请解释?