Как проверить, присутствует ли строка символов в столбце, который не является буквенно-цифровым?

Структуры отображаются в Row в UDF, поэтому к массиву структур можно получить доступ к Seq[Row], например:

def extractObjs: UserDefinedFunction = udf {
  (objs: Seq[Row]) ⇒
    objs.map {
      obj ⇒
        MyObj(
          obj.getAs[Boolean]("FieldA"),
          obj.getAs[String]("FieldB"),
          extractNested(obj.getAs[Seq[Row]]("FieldC"))
        )
    }
}

def extractNested(nesteds: Seq[Row]): Array[MyNested] = {
  nesteds.map(r => MyNested(r.getAs[Long]("Field1"),r.getAs[String]("Field2"))).toArray
}
0
задан RustyShackleford 19 January 2019 в 15:06
поделиться

1 ответ

Существует проблема [ - это специальный символ регулярного выражения, поэтому необходим параметр regex=False:

df['col1'].str.contains('[', regex=False).any()

Или управляющее значение по \:

df['col1'].str.contains('\[').any()
0
ответ дан jezrael 19 January 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: