擅长:python、mysql、java
<p>如果有这样的字符串,可以删除括号并用逗号分隔,然后强制转换为<code>array<double></code>:</p>
<pre><code>import pyspark.sql.functions as F
df = df2.withColumn(
'geolocation1',
F.split(
F.regexp_replace('geolocation', '[\( \)]', ''),
','
).cast('array<double>')
)
df.show(truncate=False)
+ + -+
|geolocation |geolocation1 |
+ + -+
|(-37.80899950, 140.96004459)|[-37.8089995, 140.96004459]|
+ + -+
df.printSchema()
root
| geolocation: string (nullable = false)
| geolocation1: array (nullable = false)
| | element: double (containsNull = true)
</code></pre>