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

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

Сообщение Anonymous »

Поведение метода str.find() в polars отличается от str.find() в pandas в 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)


Результаты:
Изображение

В документации нет параметра для установки кодировки символов.

Использование моей функции — решение, но оно очень медленное.
Можете ли вы предложить что-нибудь побыстрее и без карта_элементы? Спасибо.
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»