我试图将四列(QBR、码、触地和拦截)连接或组合成一列,并使用pyspark中的sql函数f按泽西编号对它们进行分组。下面列出的是我尝试使用的编码、实际数据和预期的数据结果
import pyspark.sql.functions as f
from pyspark.sql.functions import concat, lit, col
df = df.groupby('Jersey Number).withColumn("joined", f.concat(f.col('QBR'), f.lit(','), f.col('Yards'), f.lit(','), f.col('Touchdowns'), f.lit(','), f.col('Interceptions'))
Name Jersey Number QBR Yards Touchdowns Interceptions Fumbles
Kyler Murray 1 123.5 4120 40 6
Drew Brees 9 132.1 4500 52 12
Philip Rivers 17 120.4 3800 27 5
Andy Dalton 14 105.6 3650 22 7
Jersey Number Stats
1 123.5, 4120, 40, 6
9 132.1, 4500, 52, 12
14 105.6, 3650, 22, 7
17 120.4, 3800, 27, 5
尝试使用
concat_ws, flatten, collect_list(array(cols))
函数Example:
import as f:
相关问题 更多 >
编程相关推荐