精华内容
下载资源
问答
  • 数据框转换数据透视表时,我发现了熊猫的怪异行为.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时遇到了问题。在列表中的一个元素如下所示:{'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'

    }

    展开全文
  • 我想列(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的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 【合集】python 中将str类型转化为int

    千次阅读 2018-03-26 21:29:40
    int(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:42
    Python将str转为int型或float型string转化为int型int转化为string型string转化为float型float转化为string型含小数点的string分割为整数部分和小数部分 string转化为int型 string转化为int型 ——10进制: int('4'...
  • #下面两句实现了 225 days,这个Timedelta转化为按月份计算的可以数值形式(intfloat) print("hhhhhhh:",L.dt.days[0:3]) #和下一条语句的是同样的效果 L = L.astype("str").str.split().str[0] L = L.astype...
  • 1. 问题引出最近遇到了一个小问题,即:读取文本文件的内容,然后文件中出现的数字(包括double, int, float等)转化为16进制0x存储原本以为非常简单的内容,然后就着手去写了python,但是写着写着发现不对:python...
  • 读取文本文件的内容,然后文件中出现的数字(包括double, int, float等)转化为16进制0x存储 原本以为非常简单的内容,然后就着手去写了python,但是写着写着发现不对: python貌似没办法直接读取内存数据; 因此...
  • 当两个整数(int)进行相除时,不管除不除得尽,得到的结果都是int类型,这在有些情景下就会得不到想要的结果,因此可以将int转化为float类型,进行相除即可。 不过,在有些情况下,用float类型也会报错,比如...
  • xlrd模块去读excel时会数字类型的自动转化为浮点数,这是一个小坑。在网上查了一下,该模块的作者也说过Excel treats all numbers as floats....我们可以简单的判断读取的是不是数字,然后转化为int #...
  • 公众号关注 "Python技术客栈"设"星标",每天带你学Python常用的数据类型转换函数说明int(x [,base ])x转换一个整数float(x )x转换一个浮点数complex(real [,imag ])创建一个复数,real实部,imag虚部...
  • 1.数值类型的转换int()可以字符串或浮点数转换成整数,也可以用于进制数转换float()可以字符串或整数转换成浮点数实际上它们表示根据给定参数在内存中构造一个整数、浮点数对象,所以可以用来作为类型转换工具。...
  • int()可以字符串或浮点数转换成整数,也可以用于进制数转换float()可以字符串或整数转换成浮点数 实际上它们表示根据给定参数在内存中构造一个整数、浮点数对象,所以可以用来作为类型转换工具。而且,前面已经...
  • python将科学计数法型数字的字符串转化为数字前言法一法二(刚开始的笨做法) 前言 之前由于需要读取一些数据集里的信息,而这些信息是存为txt文件,读取之后是字符串。数据本来全部都是数字。只不过用科学计数法...
  • python中字符转化

    千次阅读 2019-03-28 09:42:58
    int(x [,base ]) x转换一个整数 long(x [,base ]) x转换一个长整数 float(x ) x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 对象 x 转换字符串 repr(x ) 对象 ...
  • 使用python处理数据时,不可避免的...1.非整数型数据转换为int型:int( )函数1.1 字符串转换为int型a = '5'b = int(a)print(type(b))print(b)输出:5注意:如果试图一个浮点数字符串转化为整数时,会报错:a =...
  • 依次判断各个元素的类型,如果是int或者float,就其输出;如果是range就其转换list,依次输出。 可以得到如下代码: seq = (-1, 0, range(3, 10), 39) def iterate_nested_seq_v0(seq): out =
  • 1.简单的强制转换函数格式使用示例描述int(x [,base])int("8")可以转换的包括String类型和其他数字类型,但是会丢失精度float(x)float(1)或者float("1")可以转换String和其他数字类型,不足的位数用0补齐,例如1会...
  • python字符转化

    2018-11-08 18:58:00
    int(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把字符串转化成数字的方法发布时间:2020-08-03 17:03:31来源:亿速云阅读:82作者:清晨这篇文章将为大家详细讲解有关python把字符串转化成数字的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家...
  • 我目前正在尝试使用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 ]) 创...
  • 函数 描述 int(x [,base]) 一个字符串或数字转换为整型。...str(x) 对象x转化为字符串 reper(x) 对象x转化为表达式字符串 eval(str) 用来计算字符串中有效的Python表达式,并返回一个对象 tuple(s)
  • 医疗数据的组成={元数据:神秘的数据,可以是病人的ID和名字等光度解释:若是黑白照片则是0−255的灰度值,若是彩色照片则是RGB0−255像素数据:不同类型的数据,即int或者float型像素深度:黑白照片深度就是一层...
  • 不知道大家有没有注意到这样一个问题,那就是我们进行format数字格式化后,是文本型数字,这样是不能进行后续计算的,如何在保证原始文本型数字的同时,使得其转化为数值型数字呢?这里我们不用int(),或者float() ...
  • 在讲解今天的内容之前,先来回答一个可能会让大家感到费解的问题:什么字符串类型(str)可以通过调用方法的方式进行操作,而之前我们用到的数值类型(如intfloat)却没有可以调用的方法。在Python中,数值类型...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

python将float转化为int

python 订阅