Как я могу удалить .0 из 2017.0, 2018.0, 2019.0 и т.д ..? - PullRequest
1 голос
/ 02 ноября 2019
data3['year'] = pd.DatetimeIndex(data3['release date']).year

release date box office   admissions year
0 2014-07-30 135756879810 17615590 2014.0 
1 2019-01-23 139648179516 16264984 2019.0 
2 2017-12-20 115707014137 14411662 2017.0 
3 2014-12-17 110940529730 14263332 2014.0 
4 2019-04-24 122182694160 13934592 2019.0 

data3 = data3.astype(str)
data3 = [line.rstrip(.0) for line in data3]

Я хочу удалить все «.0» из столбца «год». Я много искал, но replace () не работает, а rstrip () имеет ошибку. Чтобы исправить ошибку, я изменил тип data3 на (str) .. но все равно получил ошибку

Как я могу удалить .0 из столбца year?

Ответы [ 4 ]

1 голос
/ 02 ноября 2019

Результаты в формате с плавающей запятой: поэтому

df['column_name']= df['column_name'].astype(int)

выполняет работу , если отсутствуют пропущенные значения в column_name. Если есть, то dtype будет float, и, следовательно, .0

Если вы хотите преодолеть это, вы должны сначала заменить NaN: например:

df['column_name']= df['column_name'].fillna(0.0).astype(int)

Год 0 для пропущенных значений.

0 голосов
/ 03 ноября 2019

Чтобы удалить .0 из лет, вам просто нужно преобразовать его в тип данных Integer, так как он является float.

a = 1990.0
a = int(a)
print(a)

Выходные данные будут

1990

Вы можете проверить тип данныхпо типу () funtion.

или используйте

 data3['year'].astype(int)

astype () преобразует ваши данные в целочисленный тип данных

0 голосов
/ 03 ноября 2019

Если вы проверите тип даты:

    type(data3.year.dt.year)

Вы увидите, что это numpy.float64. Вы можете преобразовать числа с плавающей точкой в ​​целочисленные значения с помощью лямбда-функции и применить ее к столбцу:

    data3["year"] = data3["year"].apply(lambda x: int(x))

Примечание. Это приведет к ошибке, если в столбце даты есть значения NaN, и вам потребуетсяобъяснить недостающие данные как-то.

0 голосов
/ 02 ноября 2019

Это то, что вам нужно:

data3['year'] = data3['year'].astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...