Python-Поляры. Method.find() возвращает неправильное значение для строк при использовании символов utf-8.Python

Программы на Python
Ответить
Anonymous
 Python-Поляры. Method.find() возвращает неправильное значение для строк при использовании символов utf-8.

Сообщение Anonymous »

Поведение метода str.find() в Polars отличается от str.find() в Python. Есть ли параметр для обработки символов utf-8? Или это ошибка?
Пример кода на Python:
import polars as pl

# Define a custom function that wraps the str.find() method
def find_substring(s, substring):
return int(s.find(substring))

# Test df
df = pl.DataFrame({
"text": ["testтестword",None,'']
})

# Apply the custom function to the "text" column using map_elements()
substr = 'word'
df = df.with_columns(
[
pl.col('text').str.find(substr,literal=True,strict=True).alias('in_polars'),

pl.col("text").map_elements(lambda s: find_substring(s, substr), return_dtype=pl.Int64).alias('find_check')
]
)

print(df)


Результат:
введите сюда описание изображения
В документации нет параметра для установки кодировки символов. https://docs.pola.rs/api/python/stable/ ... .find.html
Использование моей функции является решением, но очень медленным. Можете ли вы предложить что-нибудь побыстрее? И без map_elements. Спасибо.
pl.col("text").map_elements(lambda s: find_substring(s, substr), return_dtype=pl.Int64).alias('find_check')


Подробнее здесь: https://stackoverflow.com/questions/791 ... en-using-u
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»