Принимая один оператор из строки в фрейме данных в Python [duplicate]

Misko Hevery, из Google, содержит некоторые интересные статьи именно по этой теме ...

Синглотоны - это патологические лиары , имеет пример единичного тестирования, который иллюстрирует, как синглеты могут это сделать трудно определить цепи зависимостей и запустить или протестировать приложение. Это довольно экстремальный пример злоупотреблений, но тот момент, который он делает, остается в силе:

Синглоты - это не что иное, как глобальное состояние. Глобальное состояние делает так, чтобы ваши объекты могли тайно завладеть вещами, которые не объявлены в их API, и, как результат, Singletons превращает ваши API в патологических лжецов.

blockquote>

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

7
задан user5739619 13 February 2016 в 06:16
поделиться

3 ответа

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

df['B'].str.extract('(\d+)').astype(int)
31
ответ дан Lokesh A. R. 20 August 2018 в 18:24
поделиться

Я написал небольшой цикл, чтобы сделать это, поскольку у меня не было строк в DataFrame, но в списке. Таким образом, вы также можете добавить инструкцию little для оператора float:

output= ''
input = 'whatever.007'  

for letter in input :
        try :
            int(letter)
            output += letter

        except ValueError :
                pass

        if letter == '.' :
            output += letter

output = float (output)

или вы можете использовать int (output), если хотите.

0
ответ дан boesjes 20 August 2018 в 18:24
поделиться

Предполагая, что всегда существует ровно одна ведущая буква

df['B'] = df['B'].str[1:].astype(int)
1
ответ дан Mike Graham 20 August 2018 в 18:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: