0
私はこのようなデータを持っています。私はlow
列を整数に変換したいです。たとえば、01:23.0
の場合、1 * 60 + 23 = 83にします。pysparkで文字列変換を行う方法は?
これを行う方法は?私はudf
を試みたが、それはあなたがあなたの期待出力に到達する組み込み関数を使用することができ、udf
を必要としないPy4JJavaError
df = sqlContext.createDataFrame([
('01:23.0', 'z', 'null'),
('01:23.0', 'z', 'null'),
('01:23.0', 'c', 'null'),
('null', 'null', 'null'),
('01:24.0', 'null', '4.0')],
('low', 'high', 'normal'))
def min2sec(v):
if pd.notnull(v):
return int(v[:2]) * 60 + int(v[3:5])
udf_min2sec = udf(min2sec, IntegerType())
df.withColumn('low', udf_min2sec(df['low'])).show()
それは動作します。 a a a a a –