我想请您帮助转换Pyspark dataframe中一列中的字符串
比如说,, 我有一个名为“df”的数据帧,其结构如下
df = spark.createDataFrame([('David','5K'),('William','6M'),('Sam','1B'),('Ashely','342 1'),('Chloe','240.5 4')], ['Name','Numbers'])
其中K=千,M=百万,B=十亿
我想在这里做的是(1)将字符串从K转换为数千,M转换为数百万,B转换为数十亿,(2)删除“数字”列中字符串之间的空格,然后(3)将其数据类型更改为double。您可以使用正则表达式,但我不想在这种情况下使用熊猫
这将是转换后所需的输出:
Names |Numbers
---------------------------
David |5000
William |6000000
Sam |1000000000
Ashely |3421
Chloe |240.54
我很感谢你们的帮助
您可以使用
regexp_replace
,然后将“数字”列乘以适当的十次方:输出:
如果我们有
5.5K
,那么输出将是5500.0
相关问题 更多 >
编程相关推荐