我有一个pyspark数据框,其中包含一个文本列。此列中可以包含文本(字符串)信息。我要做的就是在这列的每一行中计算A、B、C、D等。就像:
df = spark.read.csv('Data.csv', header=True)
df.select(['text']).show(truncate = False)
+-------------------------+
|text |
+-------------------------+
|BBEBEBEFC |
|DDBBCDCBBECCBBE |
|DCDBBEDBBE |
+-------------------------+
现在我想计算每列中B、C、D等的数量,并创建相应的列,如
+-------------------------+-------------------+
|text | B | C | D | E | F |
+-------------------------+---+---+---+---+---+
|BBEBEBEFC | 4 | 1 | 0 | 3 | 1 |
|DDBBCDCBBECCBBE | 6 | 4 | 3 | 2 | 0 |
+-------------------------+---+---+---+---+---+
在熊猫中,可以简单地通过以下方式完成:
df['A'] = df['text'].str.count('A')
...
我希望在Pyspark中不使用循环执行相同的操作(数据量很大)。如果有人能提出更好的方法
拆分、分解、分组依据、轴、计数:
相关问题 更多 >
编程相关推荐