如何在 Pandas DataFrame 中将浮点数转换为整数

您所在的位置:网站首页 浮点型变整型 如何在 Pandas DataFrame 中将浮点数转换为整数

如何在 Pandas DataFrame 中将浮点数转换为整数

2023-06-14 15:20| 来源: 网络整理| 查看: 265

在 Pandas 中用 astype(int) 将浮点数 float 转换为整型 int to_numeric() 方法将 Pandas 中的 float 转换为 int

我们将演示法在 Pandas DataFrame 将浮点数转换为整数的方法-astype(int) 和 to_numeric() 方法。

首先,我们使用 NumPy 库创建一个随机数组,然后将其转换为 DataFrame。

import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(5, 5) * 5) print(df)

如果运行此代码,你将得到如下输出,数据类型为 float。

0 1 2 3 4 00.3024483.5519583.8786602.3803524.741592 14.0541870.9409520.4590584.3148010.524993 22.8917334.9268854.9557732.6263734.144166 31.1276393.1968234.1440201.3506320.401138 41.4235372.0194553.0389450.4366573.823888 在 Pandas 中用 astype(int) 将浮点数 float 转换为整型 int

要将 float 转换为 INT,我们将使用 Pandas 包提供的 astype(int) 方法。代码是,

import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(5, 5) * 5) print('*********** Random Float DataFrame ************') print(df) print('***********************************************') print('***********************************************') print('*********** Dataframe Converted into INT ************') print(df.astype(int)) print('***********************************************') print('***********************************************')

输出:

*********** Random Float DataFrame ************ 0 1 2 3 4 01.5106181.0945614.1574194.4241954.872719 10.4576804.0029592.6609991.6869160.840159 21.7817783.8129240.5618270.5323280.752800 31.4565142.7749552.7001184.5033544.749377 42.2235204.8592380.4509773.2284442.541648 *********************************************** *********************************************** *********** Dataframe Converted into INT ************ 01234 011444 104210 213000 312244 424032 *********************************************** *********************************************** INSTALL phpMyAdmin in Linux CentOS ...

Please enable JavaScript

INSTALL phpMyAdmin in Linux CentOS 7 with LAMP - FREE HOSTING for WordPress Part 3

我们可以使用 df.round(0).astype(int) 将 float 值四舍五入为 int。

import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(5, 5) * 5) print('*********** Random Float DataFrame ************') print(df) print('***********************************************') print('***********************************************') print('*********** Dataframe Converted into INT ************') print(df.astype(int)) print('***********************************************') print('***********************************************') print('*********** Rounding Float value to INT ************') print(df.round(0).astype(int)) print('***********************************************') print('***********************************************')

运行代码后,我们将获得以下输出。

*********** Random Float DataFrame ************ 0 1 2 3 4 03.3944580.0712023.3132054.7858780.705612 11.9603530.8420851.2123320.8183432.637940 24.4078114.2390781.4190271.5263101.043394 33.6542164.6729721.7964393.1684260.734009 40.8487961.0240521.8593190.8443781.747628 *********************************************** *********************************************** *********** Dataframe Converted into INT ************ 01234 030340 110102 244111 334130 401101 *********************************************** *********************************************** *********** Rounding Float value to INT ************ 01234 030351 121113 244121 345231 411212 *********************************************** *********************************************** to_numeric() 方法将 Pandas 中的 float 转换为 int

此方法提供了将非数字类型(例如字符串)安全地转换为合适的数字类型的功能。采取单独的系列并转换为数字,当被告知时强制

s = pd.Series(['1.0', '2', -3]) print(pd.to_numeric(s, downcast='integer'))

运行代码后,我们将获得以下输出。

01 12 2 -3 dtype: int8


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3