And*_*rle 3 apache-spark pyspark spark-dataframe
我在Spark Dataframe中有一个包含列的列df.列是格式的字符串:
10001010000000100000000000000000
10001010000000100000000100000000
Run Code Online (Sandbox Code Playgroud)
有没有一种简单有效的方法来创建新列"no_of_ones"并使用Dataframe计算频率?使用RDD我可以map(lambda x:x.count('1'))(pyspark).另外,如何检索列表的位置?
我能想到的一种方法是删除所有零,然后计算字段的长度.
df.show
+--------------------+
| bytestring|
+--------------------+
|10001010000000100...|
|10001010000000100...|
+--------------------+
df.withColumn("no_of_ones" , length(regexp_replace($"bytestring", "0", "")) ).show
+--------------------+----------+
| bytestring|no_of_ones|
+--------------------+----------+
|10001010000000100...| 4|
|10001010000000100...| 5|
+--------------------+----------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2842 次 |
| 最近记录: |