Преобразование экспоненты или научного числа в целое число в pandas python

Я новичок в Python и пытаюсь получить строку из набора данных, который имеет самый высокий рейтинг idmb и самый высокий общий итог, который мне удалось получить, но мое значениеross_total не является целым числом. как я могу преобразовать его в целое число? и как получить это конкретное значение для выполнения статистических функций.

import pandas as pd

dataset=pd.read_excel('movies.xls')

name=dataset['Title']
idmb=dataset['IMDB Score']

networth=dataset['Gross Earnings']

test_df=pd.DataFrame({'movie':name,
                  'rating':idmb,
                  'gross_total':networth})


 nds=test_df.dropna(axis=0,how='any')

 a=nds['gross_total'].astype(int)

 highest_rating =nds.loc[nds['rating'].idxmax()]

 highiest_networth=nds.loc[ nds['gross_total'].idxmax()]

 print(highest_rating)

 print(highiest_networth)

я получаю этот вывод

  gross_total                  2.83415e+07
  movie          The Shawshank Redemption 
  rating                               9.3
  Name: 742, dtype: object

Я искал и узнал о функциях "pd.to_numeric" и "astype", но я не мог понять, как использовать это в этой ситуации.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
5
0
12 327
3

Ответы 3

Вы форматируете свой вывод соответствующим образом:

n =  2.83415e+07

print(f'{n:f}')
print(f'{n:e}')

Выход:

28341500.000000
2.834150e+07

См. строковый формат мини-язык

Панды работают так же:

import pandas as pd

df = pd.DataFrame ( [{"tata": 2.325568e9}])

# print with default float settings
print (df) 

pd.options.display.float_format = '{:,.4f}'.format  # set other global format
# print with changed float settings
print(df)

# really convert the type:
df["tata"] = df["tata"].astype(int)
# print with default int settings
print(df)

Credit to: unutbu's answer here

Выход:

           tata
0  2.325568e+09          # before format change

                tata
0 2.325.568.000,0000     # after format change


         tata            # after int conversion
0 -2147483648

Есть и другие способы форматирования - см. Как отобразить pandas DataFrame с плавающей запятой, используя строку формата для столбцов?

У меня такая же проблема. Использовать

df['Tata'].map(int)

Это сработало для меня, стоит попробовать:

df['col_name'] = df['col_name'].astype('int64') 

Другие вопросы по теме