Добавление столбца фрейма данных с len () значений другого столбца

У меня возникла проблема с попыткой получить столбец счетчика символов из строковых значений в другом столбце и не выяснили, как это сделать эффективно.

for index in range(len(df)): df['char_length'][index] = len(df['string'][index])) 

По-видимому, это связано с первым созданием столбца нулей, а затем его переписыванием, и на мой набор данных занимает очень много времени. Итак, какой самый эффективный способ получить что-то вроде

 'string' 'char_length' abcd 4 abcde 5 

Я проверил довольно много, но я не смог понять это.

2 Solutions collect form web for “Добавление столбца фрейма данных с len () значений другого столбца”

Для этого у Pandas есть векторный метод string : str.len() . Чтобы создать новый столбец, вы можете написать:

 df['char_length'] = df['string'].str.len() 

Например:

 >>> df string 0 abcd 1 abcde >>> df['char_length'] = df['string'].str.len() >>> df string char_length 0 abcd 4 1 abcde 5 

Это должно быть значительно быстрее, чем цикл через DataFrame с циклом Python for .

Многие другие знакомые струнные методы из Python были представлены Pandas. Например, lower (для преобразования в строчные буквы), count для подсчета вхождений определенной подстроки и replace для замены одной подстроки на другую.

Вот один из способов сделать это.

 In [3]: df Out[3]: string 0 abcd 1 abcde In [4]: df['len'] = df['string'].str.len() In [5]: df Out[5]: string len 0 abcd 4 1 abcde 5 
  • Удаление столбца индекса в пандах
  • Pandas - разница между объединением и объединением
  • Поворотные столы в рамке данных pandas
  • pandas различение между строками и объектами
  • Как добавить новый элемент в столбец pandas.DataFrame, который является списком?
  • pandas преобразовывать строки для float для нескольких столбцов в dataframe
  • Pandas в AWS лямбда дает многократную ошибку
  • Как писать в существующий файл excel без нарушения формул с помощью openpyxl?
  • Python - лучший язык программирования в мире.