亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查pyspark數據框中的字符串列是否都是數字

如何檢查pyspark數據框中的字符串列是否都是數字

慕娘9325324 2021-09-14 20:41:50
我有一個Dataframe帶有strings. 如何檢查其中的哪些行是數字。我在 PySpark 的官方文檔中找不到任何功能-values = [('25q36',),('75647',),('13864',),('8758K',),('07645',)]df = sqlContext.createDataFrame(values,['ID',])df.show()+-----+|   ID|+-----+|25q36||75647||13864||8758K||07645|+-----+在 Python 中,有一個函數.isDigit()可以返回True或者False是否string只包含數字。預期數據幀 -+-----+-------+|   ID| Value |+-----+-------+|25q36| False ||75647| True  ||13864| True  ||8758K| False ||07645| True  |+-----+-------+我想避免創建一個UDF.
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

如果您愿意,您還可以udf為此目的構建自定義:


from pyspark.sql.types import BooleanType

from pyspark.sql import functions as F


def is_digit(val):

    if val:

        return val.isdigit()

    else:

        return False


is_digit_udf = udf(is_digit, BooleanType())


df = df.withColumn('Value', F.when(is_digit_udf(F.col('ID')), F.lit(True)).otherwise(F.lit(False)))


查看完整回答
反對 回復 2021-09-14
  • 3 回答
  • 0 關注
  • 362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號