# -*- coding: UTF-8 -*-
import pandas as pd
df = pd.DataFrame([{'col1':'a', 'col2':'1'}, {'col1':'b', 'col2':'2'}])
print df.dtypes
df['col2'] = df['col2'].astype('int')
print '-----------'
print df.dtypes
df['col2'] = df['col2'].astype('float64')
print '-----------'
print df.dtypes

输出结果:

col1    object
col2    object
dtype: object
-----------
col1    object
col2     int32
dtype: object
-----------
col1     object
col2    float64
dtype: object

注:data type list

Data type   Description
bool_   Boolean (True or False) stored as a byte
int_    Default integer type (same as C long; normally either int64 or int32)
intc    Identical to C int (normally int32 or int64)
intp    Integer used for indexing (same as C ssize_t; normally either int32 or int64)
int8    Byte (-128 to 127)
int16   Integer (-32768 to 32767)
int32   Integer (-2147483648 to 2147483647)
int64   Integer (-9223372036854775808 to 9223372036854775807)
uint8   Unsigned integer (0 to 255)
uint16  Unsigned integer (0 to 65535)
uint32  Unsigned integer (0 to 4294967295)
uint64  Unsigned integer (0 to 18446744073709551615)
float_  Shorthand for float64.
float16 Half precision float: sign bit, 5 bits exponent, 10 bits mantissa
float32 Single precision float: sign bit, 8 bits exponent, 23 bits mantissa
float64 Double precision float: sign bit, 11 bits exponent, 52 bits mantissa
complex_    Shorthand for complex128.
complex64   Complex number, represented by two 32-bit floats (real and imaginary components)
complex128  Complex number, represented by two 64-bit floats (real and imaginary components)
使用astype实现dataframe字段类型转换# -*- coding: UTF-8 -*-import pandas as pddf = pd.DataFrame([{'col1':'a', 'col2':'1'}, {'col1':'b', 'col2':'2'}])print df.dtypesdf['col2'] = df['col2'].astype('int')print '- 指定多列去重,这是在 dataframe 没有独一无二的 字段 作为PK(主键)时,需要指定多个 字段 一起作为该行的PK,在这种情况下对整体数据进行去重。 Attention:主要用到了drop_duplicates方法,并设置参数subset为多个 字段 名构成的数组。 具体代码如下: >>>import pandas as pd >>>data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']} >>>frame=pd. DataFrame (data) >>>frame pop state 0 a 1 1 b 1
首先咱们先定义一个str类型的 dataframe : student = [["小明","数学","88"],["小红","数学","99"],["小刚","数学","85"]] df = pd. DataFrame (student) print(df) 那么如何对他的指定列进行数据类型的转换呢?? df[2] = df[2]. astype ('int') 全部代码为: student = [["小明","数学","88"],["小红","数学","99"],["小刚","数学","85"]]
数据分析过程中最头疼也是工作量最大的部分算是探索和清洗了,探索的目的是了解数据,了解数据背后隐藏的规律,清洗的目的则是为了让干净的数据进入分析或建模的下一个环节。作者将通过三篇文章,详细讲解工作中常规的数据清洗方法,包括数据类型的转换,重复数据的处理,缺失值的处理以及异常数据的识别和处理。这是第一篇文章,主要分享的内容包括,文中涉及到的数据可以至文末查看下载链接: 数据类型的转换...
# -*- coding: UTF-8 -*- import pandas as pd df = pd. DataFrame ([{'col1':'a', 'col2':'1'}, {'col1':'b', 'col2':'2'}]) print df.dtypes df['col2'] = df['col2']. astype ('int') print '-----------' print df.dtypes df['col2'] = df['col2']. astype ('float64') print '-----------' print
在进行将多个表的数据合并到一个表后,发现输出到EXCEL表的数据发生错误,数值型数据末尾都变成了0。这是因为excel数据超过11位,自动以科学计数法显示,其最大处理精度为15位,超过15位,以后数字自动变0。找了一些解决方法,发现用. astype ('数据类型')还是挺方便的。我在输出时,将数值型的数据(int)转化成了字符串(str)。 使用方法: df. astype ('数据类型')    ...
astype ()函数可用于转化dateframe某一列的数据类型 如下将dateframe某列的str类型转为int,注意 astype ()没有replace=True的用法,想要在原数据上修改,要写成如下形式。 注意只有当该列的字符串全是由纯数字构成时才可以这样写,如果混有字母,会报错:ValueError: invalid literal for int() with base 10: 利用int()函数转字符串也类似 参考:https://www.cnblogs.com/h...