Фрейм данных Python, для приведения циклов и типов

#python #dataframe #for-loop #casting

#питон #фрейм данных #для цикла #Кастинг

Вопрос:

У меня есть фрейм данных с несколькими столбцами. Моя цель — определенным образом манипулировать последним столбцом. До сих пор последний столбец имеет тип string . Мне нужна помощь в создании цикла for, который проходит по последнему столбцу и удаляет последние два символа, а затем преобразует его в число с плавающей запятой.

Примером записи в последнем столбце является «1234.5678;;». Я хочу, чтобы он выглядел как 1234.5678 и так для каждой записи в последнем столбце.

Заранее спасибо.

Ответ №1:

Я не уверен, о чем именно вы спрашиваете, вы спрашиваете, как вы можете манипулировать строкой, чтобы удалить последние два символа? Или вы спрашиваете, как вы получаете доступ (и редактируете / изменяете) фрейм данных? Если да, используете ли вы pandas?

Разъяснение этого может помочь другим людям более эффективно помочь вам с вашей проблемой.

В python для любой строки вы можете отрезать последние два символа следующим образом:

 string=string[:-2]
 

Я предполагаю, что переменная string содержит нужную вам строку.

На будущее было бы весьма признателен, если бы вы объяснили свою проблему более подробно, объяснили, что вы хотите сделать и где вам нужна помощь, и в целом приложили больше усилий к вашему вопросу, орфографическая ошибка в названии не очень хорошо смотрится с точки зрения оптики.

Ответ №2:

Когда вы используете фрейм данных pandas, вы можете сделать это следующим образом:

 w.iloc[:][w.columns.size-1]=w.iloc[:][w.columns.size-1].str.replace(";;","")
 

w это ваш фрейм данных. Эта строка заменит все ; в столбце. Я предполагаю, что последние два символа всегда следуют одному и тому же шаблону. Очевидно, что это не сработает, если последние два символа следуют неизвестному шаблону.

Комментарии:

1. Большое спасибо! Я смог реализовать цикл for. У меня все еще остался небольшой вопрос. В заголовке последнего столбца также есть два «;;» в конце, которые я хочу удалить. Как я могу это сделать, чтобы имя было постоянным, а не просто копией?

2. Взгляните на pandas. Фрейм данных.переименовать. Есть примеры того, как вы можете переименовать столбец. Для чего вы используете a for -loop?

3. Я использовал цикл для просмотра столбца фрейма данных, чтобы удалить два «;;» после каждой записи.