如何根据 Colab 笔记本中 PySpark 中的首字母对名称列表进行分类?
How to categorize the list of names based on their first letter in PySpark in Colab notebook?
我想使用 groupby 和 map 命令根据名称的第一个字符对名称列表进行分类。此列表包含许多名称。我应该怎么做?谁能帮我?我使用 pysperk 在 Colab 笔记本中编写代码。我是初学者,不知道怎么做。
arrayStructureData = [
("Sajad","M"),
("Hassan","F"),
("Ali","F"),
("Hossein","M")]
arrayStructureSchema = StructType([
StructField('Name', StringType(), True),
StructField('gender', StringType(), True)
])
df = spark.createDataFrame(data = arrayStructureData, schema = arrayStructureSchema)
使用 substring
然后 groupby
?
from pyspark.sql import functions as F
(df
.withColumn('c', F.substring('Name', 0, 1))
.groupBy('c')
.agg(
F.count('*').alias('cnt')
)
.show()
)
+---+---+
| c|cnt|
+---+---+
| A| 1|
| S| 1|
| H| 2|
+---+---+
我想使用 groupby 和 map 命令根据名称的第一个字符对名称列表进行分类。此列表包含许多名称。我应该怎么做?谁能帮我?我使用 pysperk 在 Colab 笔记本中编写代码。我是初学者,不知道怎么做。
arrayStructureData = [
("Sajad","M"),
("Hassan","F"),
("Ali","F"),
("Hossein","M")]
arrayStructureSchema = StructType([
StructField('Name', StringType(), True),
StructField('gender', StringType(), True)
])
df = spark.createDataFrame(data = arrayStructureData, schema = arrayStructureSchema)
使用 substring
然后 groupby
?
from pyspark.sql import functions as F
(df
.withColumn('c', F.substring('Name', 0, 1))
.groupBy('c')
.agg(
F.count('*').alias('cnt')
)
.show()
)
+---+---+
| c|cnt|
+---+---+
| A| 1|
| S| 1|
| H| 2|
+---+---+