У меня есть фрейм данных pandas, который имеет около 100 столбцов, и я хочу подсчитать количество символов в каждом столбце для строки.
В Excel я бы сделал что-то вроде (Len(Concat(A2:CA2))
df['newcolumn'] = ? in Pandas Python
Ну, технически, этот вопрос был о нахождении длины одного столбца. Пока я ищу общее количество всех столбцов в одном столбце.






Вы можете использовать:
df.astype(str).apply(lambda x: x.str.len()).sum(1)
При необходимости сначала преобразуйте столбцы в строки, sum их для объединения и в последнюю очередь используйте Series.str.len:
df['new'] = df.astype(str).sum(axis=1).str.len()
При необходимости выберите столбцы по позициям:
df['new'] = df.iloc[:, 1:20].astype(str).sum(axis=1).str.len()
И если нужны только столбцы строк, используйте DataFrame.select_dtypes:
df['new'] = df.select_dtypes(object).sum(axis=1).str.len()
У меня возникло бы искушение поменять порядок здесь... Я полагаю, что постепенное построение строк будет менее эффективным, чем получение длины, а затем суммирование по доступу, например, ваш последний пример: df.select_dtypes(object).applymap(len).sum(axis=1) или что-то в этом роде.
[ len(" ".join(map(lambda x: str(x), list(df1.loc[index].values)))) для индекса в df1.index.tolist()]
Добро пожаловать, постарайтесь объяснить свое решение, чтобы люди могли понять решение, а не просто скопировать и вставить ваш ответ.
df['newcolumn'] = df['another_column'].str.len()?