-
python将float转化为int_python-熊猫数据透视表将float转换为int
2020-12-23 19:12:37在将数据框转换为数据透视表时,我发现了熊猫的怪异行为.import pandas as pddf = pd.DataFrame({'car_id': {0: 'Trabant', 1: 'Buick', 2: 'Dodge'}, 'car_order': {0: 2, 1: 1, 2: 14}, 'car_name': {0: 'Trabant',...在将数据框转换为数据透视表时,我发现了熊猫的怪异行为.
import pandas as pd
df = pd.DataFrame({'car_id': {0: 'Trabant', 1: 'Buick', 2: 'Dodge'}, 'car_order': {0: 2, 1: 1, 2: 14}, 'car_name': {0: 'Trabant', 1: 'Buick', 2: 'Dodge'}, 'car_rank': {0: 111111317.29, 1: 1111112324.0, 2: 1111112324.5}})
table = df.pivot_table(index=['car_id', 'car_name', 'car_order'], columns=[],values=['car_rank'], fill_value='',dropna=True)
print table
df1 = pd.DataFrame({'car_id': {0: 'Trabant', 1: 'Buick', 2: 'Dodge'}, 'car_order': {0: 2, 1: 1, 2: 14}, 'car_name': {0: 'Trabant', 1: 'Buick', 2: 'Dodge'}, 'car_rank': {0: 17.29, 1: 24.0, 2: 24.5}})
table1 = df1.pivot_table(index=['car_id', 'car_name', 'car_order'], columns=[],values=['car_rank'], fill_value='',dropna=True)
print table1
结果输出:
Table
car_rank
car_id car_name car_order
Buick Buick 1 1111112324
Dodge Dodge 14 1111112324
Trabant Trabant 2 111111317
Table 1
car_rank
car_id car_name car_order
Buick Buick 1 24.00
Dodge Dodge 14 24.50
Trabant Trabant 2 17.29
您知道为什么在表中将值转换为int并为表1的值保留为浮点数吗?
熊猫0.18.0,python 2.7.9
解决方法:
这是我对熊猫0.18.0的观察结果:
pandas / tools / pivot.py的数据源的pivot_table()行定义:141-142:
if fill_value is not None:
table = table.fillna(value=fill_value, downcast='infer')
这正是枢转DF发生的情况:
In [78]: df.fillna('', downcast='infer')
Out[78]:
car_id car_name car_order car_rank
0 Trabant Trabant 2 111111317
1 Buick Buick 1 1111112324
2 Dodge Dodge 14 1111112324
类型:
In [48]: df.fillna('', downcast='infer').dtypes
Out[48]:
car_id object
car_name object
car_order int64
car_rank int64
dtype: object
有趣的是-如果您正确地使用了ivot_table()(即用于透视)-它可以正常工作:
In [81]: df.pivot_table(index=['car_id', 'car_order'], columns=['car_name'], values=['car_rank'],dropna=True, fill_value='')
Out[81]:
car_rank
car_name Buick Dodge Trabant
car_id car_order
Buick 1 1111112324.00
Dodge 14 1111112324.50
Trabant 2 111111317.29
PS我仍然不明白为什么您会以这种奇怪的方式使用pivot_table-您将要实现什么?
标签:pandas,dataframe,type-conversion,pivot-table,python
来源: https://codeday.me/bug/20191027/1942475.html
-
python float转化为int_在python中如何将float转换成int?
2020-12-07 11:59:09我在python列表中将float转换为int时遇到了问题。在列表中的一个元素如下所示:{'artForm': 'Madur','artistName': 'Bharati Dolai','gender': 'F','district': 'Paschim Medinipur','phone': '','artisanCard': {'...我在python列表中将float转换为int时遇到了问题。在
列表中的一个元素如下所示:{'artForm': 'Madur',
'artistName': 'Bharati Dolai',
'gender': 'F',
'district': 'Paschim Medinipur',
'phone': '',
'artisanCard': {'exists': 'N', 'cardNo': ''},
'dob': '',
'age': 45.0,
'year': 1971.0,
'education': 'I',
'childrenGoToSchool': 'Y'
}
我无法将age和year转换为int
我的代码:
^{pr2}$
我得到以下错误ValueError: cannot convert float NaN to integer
期望输出:{'artForm': 'Madur',
'artistName': 'Bharati Dolai',
'gender': 'F',
'district': 'Paschim Medinipur',
'phone': '',
'artisanCard': {'exists': 'N', 'cardNo': ''},
'dob': '',
'age': 45, #converted to int
'year': 1971, #converted to int
'education': 'I',
'childrenGoToSchool': 'Y'
}
-
python float转化为int_python – 将矩阵的某些列从float转换为int
2020-12-07 11:59:08我想将列(0,1,2,3,5)的值从float更改为int.这是我的代码:tempsyntheticGroup2=tempsyntheticGroup2[:,[0,1,2,3,5]].astype(int)但它没有正常工作,我松开了其他列.解决方法:我不认为你可以有一个numpy数组,其中一些...我有一个矩阵tempsyntheticGroup2有6列.我想将列(0,1,2,3,5)的值从float更改为int.这是我的代码:
tempsyntheticGroup2=tempsyntheticGroup2[:,[0,1,2,3,5]].astype(int)
但它没有正常工作,我松开了其他列.
解决方法:
我不认为你可以有一个numpy数组,其中一些元素是整数,一些是浮点数(每个数组只有一个可能的dtype).但是如果你只想舍入到较低的整数(同时将所有元素保持为浮点数),你可以这样做:
# define dummy example matrix
t = np.random.rand(3,4) + np.arange(12).reshape((3,4))
array([[ 0.68266426, 1.4115732 , 2.3014562 , 3.5173022 ],
[ 4.52399807, 5.35321628, 6.95888015, 7.17438118],
[ 8.97272076, 9.51710983, 10.94962065, 11.00586511]])
# round some columns to lower int
t[:,[0,2]] = np.floor(t[:,[0,2]])
# or
t[:,[0,2]] = t[:,[0,2]].astype(int)
array([[ 0. , 1.4115732 , 2. , 3.5173022 ],
[ 4. , 5.35321628, 6. , 7.17438118],
[ 8. , 9.51710983, 10. , 11.00586511]])
否则你可能需要将原始数组拆分为2个不同的数组,其中一个包含保留浮点数的列,另一个包含成为整数的列.
t_int = t[:,[0,2]].astype(int)
array([[ 0, 2],
[ 4, 6],
[ 8, 10]])
t_float = t[:,[1,3]]
array([[ 1.4115732 , 3.5173022 ],
[ 5.35321628, 7.17438118],
[ 9.51710983, 11.00586511]])
请注意,您必须相应地更改索引以访问您的元素…
标签:python,numpy
-
python为什么int()无法将float转化成int
2019-07-23 20:41:26原因可能是你用了np.zeros(count),它的默认数据类型是float64类型的,而且不管你往这个np列表传入什么类型的值,或者后期怎么int()都没用,因为它会自动又改为float类型。并且这个float类型可不是原生的浮点类型, ...原因可能是你用了np.zeros(count),它的默认数据类型是float64类型的,而且不管你往这个np列表传入什么类型的值,或者后期怎么int()都没用,因为它会自动又改为float类型。并且这个float类型可不是原生的浮点类型, 虽然“看”起来差不多, 但我们type一下看看。
这个是针对本问题的输出结果和类型:
这个是普通的0.0的输出结果和其类型:
解决方法:
一维数组:list = np.zeros(count) 改为 list = [0 for i in range(count)]
二维数组:list = np.zeros(count,count) 改为 list = [[0 for i in range(count)] for i in range(count)] -
Python将list中的string批量转化成int/float的方法
2020-09-20 08:06:11今天小编就为大家分享一篇Python将list中的string批量转化成int/float的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
【合集】python 中将str类型转化为int
2018-03-26 21:29:40int(x [,base ]) 将x转换为一个整数long(x [,base ]) 将x转换为一个长整数float(x ) 将x转换到一个浮点数complex(real [,imag ]) 创建一个复数str(x ) 将对象 x 转换为字符串repr(x ) 将对象 x 转换为... -
Python将str转为int型或float型
2020-08-13 19:34:42Python将str转为int型或float型string转化为int型int转化为string型string转化为float型float转化为string型含小数点的string分割为整数部分和小数部分 string转化为int型 string转化为int型 ——10进制: int('4'... -
怎么将python时间段(Timedelta)转化为int或float数值形式
2019-11-23 15:10:13#下面两句实现了 225 days,将这个Timedelta转化为按月份计算的可以数值形式(int或float) print("hhhhhhh:",L.dt.days[0:3]) #和下一条语句的是同样的效果 L = L.astype("str").str.split().str[0] L = L.astype... -
float在python中的书写形式错误的是_python实现float/double的0x转化
2020-12-01 14:00:471. 问题引出最近遇到了一个小问题,即:读取文本文件的内容,然后将文件中出现的数字(包括double, int, float等)转化为16进制0x存储原本以为非常简单的内容,然后就着手去写了python,但是写着写着发现不对:python... -
python实现float/double的0x转化
2017-12-26 22:12:00读取文本文件的内容,然后将文件中出现的数字(包括double, int, float等)转化为16进制0x存储 原本以为非常简单的内容,然后就着手去写了python,但是写着写着发现不对: python貌似没办法直接读取内存数据; 因此... -
python 做除法之前尽量先将变量类型都转化为float浮点类型
2020-11-29 22:21:26当两个整数(int)进行相除时,不管除不除得尽,得到的结果都是int类型,这在有些情景下就会得不到想要的结果,因此可以将int先转化为float类型,进行相除即可。 不过,在有些情况下,用float类型也会报错,比如... -
python读取excel时,数字自动转化为float
2018-01-18 14:45:00xlrd模块去读excel时会将数字类型的自动转化为浮点数,这是一个小坑。在网上查了一下,该模块的作者也说过Excel treats all numbers as floats....我们可以简单的判断读取的是不是数字,然后将其转化为int #... -
python字符串转化为16进制数_Python常用数据类型转换
2021-01-04 20:36:23公众号关注 "Python技术客栈"设为"星标",每天带你学Python常用的数据类型转换函数说明int(x [,base ])将x转换为一个整数float(x )将x转换为一个浮点数complex(real [,imag ])创建一个复数,real为实部,imag为虚部... -
python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换
2021-01-04 16:34:441.数值类型的转换int()可以将字符串或浮点数转换成整数,也可以用于进制数转换float()可以将字符串或整数转换成浮点数实际上它们表示根据给定参数在内存中构造一个整数、浮点数对象,所以可以用来作为类型转换工具。... -
[转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换
2021-02-15 17:50:05int()可以将字符串或浮点数转换成整数,也可以用于进制数转换float()可以将字符串或整数转换成浮点数 实际上它们表示根据给定参数在内存中构造一个整数、浮点数对象,所以可以用来作为类型转换工具。而且,前面已经... -
python将科学计数法型数字的字符串转化为数字
2020-03-24 21:02:08python将科学计数法型数字的字符串转化为数字前言法一法二(刚开始的笨做法) 前言 之前由于需要读取一些数据集里的信息,而这些信息是存为txt文件,读取之后是字符串。数据本来全部都是数字。只不过用科学计数法... -
python中字符转化
2019-03-28 09:42:58int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 ... -
python string转float报错_Python基础数据类型转换
2020-12-15 21:55:16使用python处理数据时,不可避免的...1.将非整数型数据转换为int型:int( )函数1.1 将字符串转换为int型a = '5'b = int(a)print(type(b))print(b)输出:5注意:如果试图将一个浮点数字符串转化为整数时,会报错:a =... -
Python之将多层嵌套列表转化为一维列表或迭代器
2021-04-12 22:51:34依次判断各个元素的类型,如果是int或者float,就将其输出;如果是range就将其转换为list,依次输出。 可以得到如下代码: seq = (-1, 0, range(3, 10), 39) def iterate_nested_seq_v0(seq): out = -
python set函数将object对象转化为集合_Python基础知识整理——数据对象之间的转换...
2020-12-28 20:21:301.简单的强制转换函数格式使用示例描述int(x [,base])int("8")可以转换的包括String类型和其他数字类型,但是会丢失精度float(x)float(1)或者float("1")可以转换String和其他数字类型,不足的位数用0补齐,例如1会... -
python字符转化
2018-11-08 18:58:00int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x) 将对象x转换为字符串 repr(... -
python之数值的相互转化
2019-06-09 20:33:06有时需将字符串转化为数值,或数值之间的相互转化 以下是数值的相互转化的语句 语句 说明 int() 转化为整型 float() 转化为浮点型 complex() 转化为复数类型 abs() 转化为绝对值或模长 bool() 转化... -
python字符串转数字报错_python把字符串转化成数字的方法
2021-01-29 19:21:13python把字符串转化成数字的方法发布时间:2020-08-03 17:03:31来源:亿速云阅读:82作者:清晨这篇文章将为大家详细讲解有关python把字符串转化成数字的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家... -
python unpack转化二进制文件_python struct在转换二进制文件时“unpack需要长度为8的bytes对象”...
2020-12-24 11:47:51我目前正在尝试使用struct模块将二进制文件转换为float和viceversa。我的函数可以处理某些值,比如2.0或14.0,但不能处理1.0。我把另一个问题的代码从python2改成python3。import structdef bin_to_float(b):""" ... -
Python str转化成数字
2017-05-09 15:59:00原地址http://www.cnblogs.com/wuxiangli/p/6046800.html int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创... -
Python常见的数据类型转化函数
2020-11-05 14:05:42函数 描述 int(x [,base]) 将一个字符串或数字转换为整型。...str(x) 将对象x转化为字符串 reper(x) 将对象x转化为表达式字符串 eval(str) 用来计算字符串中有效的Python表达式,并返回一个对象 tuple(s) -
用Python进行深度学习时为何将DICOM(.dcm)数据转化为NIFTI(.nii)数据
2019-10-25 14:49:29医疗数据的组成={元数据:神秘的数据,可以是病人的ID和名字等光度解释:若是黑白照片则是0−255的灰度值,若是彩色照片则是RGB为0−255像素数据:不同类型的数据,即int或者float型像素深度:黑白照片深度就是一层... -
Python每日一记127>>>文本型数字转化为数值型数字(eval函数)
2019-08-19 11:52:49不知道大家有没有注意到这样一个问题,那就是我们进行format数字格式化后,是文本型数字,这样是不能进行后续计算的,如何在保证原始文本型数字的同时,使得其转化为数值型数字呢?这里我们不用int(),或者float() ... -
将字符串转化成函数调用_从零开始学Python - 第010课:函数和字符串的应用
2021-01-04 06:30:21在讲解今天的内容之前,先来回答一个可能会让大家感到费解的问题:为什么字符串类型(str)可以通过调用方法的方式进行操作,而之前我们用到的数值类型(如int、float)却没有可以调用的方法。在Python中,数值类型...