pandas函数

目录

一read_csv:

二to_csv:

三set_option:

四select_dtypes:

五to_numeric:

六info:

七astype:

八fillna:

九concat:

十reset_index:

十一where:

十二rename:

十三groupby:

十四loc,iloc,ix:

十五pivot:


一read_csv:

用法:

pd.read_csv("filename" ,sep = '\t',delimiter = ‘\t’, name = ['a','b','c'],nrows=100,index_col='a')

函数说明:

用于将csv,tsv文件的读取

import pandas

参数说明:

filename :打开的csv/tsv文件名

sep = '\t':文件以'\t'为分隔符

delimiter = ‘\t’:文件以'\t'为分隔符

 name = ['a','b','c']:指定DataFrame的列索引分别为'a','b','c'

nrows=100:读取csv的前100行

 index_col='a': 将'a'列指定为行索引 

二to_csv:

pd.to_csv("filename" ,sep = '\t',header=None)

函数说明:

用于将csv文件格式的数据保存为csv文件,通常用来保存dataframe数据

import pandas as pd

参数说明:

"filename": 保存文件名

sep:保存数据分隔符

header:是否保留列索引

三set_option:

用法:

pd.set_option('display.width', 1000) # 设置字符显示宽度

pd.set_option('display.max_rows', None) # 设置显示最大行

pd.set_option('display.max_columns', None) # 设置显示最大行

 函数说明:

用来设置显示数据的行列数,可避免数据被折叠,看不到完整数据的情况。可在pycharm下展开数据

import pandas as pd

参数说明:

set_option('display.width', 10)              : 设置一行显示多少列,如果不设置max_columns,数据也会被折叠

set_option('display.max_rows', 10)      :设置最大显示行

set_option('display.max_columns', 10) : 设置数据展开多少列,如果不配合width,可能会出现一行显示不下,放到下一行展                                                                      示,造成数据不整齐

四select_dtypes:

用法:

DataFrame.select_dtypes(include['int'], exclude=None)

 函数说明:

从dataframe数据中选择固定type的数据。可用于配合to_numeric来实现内存优化。

import pandas as pd

参数说明:

include:选择的数据类型

exclude:排除的数据类型

内存优化示例:(将内容为int64的数据存为uint32)

a=DataFrame()

a = a.select_dtypes(include=['int'])

a = a.apply(pd.to_numeric,downcast='unsigned')

五to_numeric:

用法:

pd.to_numeric(arg, errors=None, downcast=None)

 函数说明:

将参数转变为数字类型,

import pandas as pd

参数说明:

arg:需要转变的参数

errors:赋值为coerce时,将无效值强制转换为NaN;赋值为ignore时,将无效值忽略。

downcast:向下转变的类型。想占用少转变,如需转变为unsigned,需填unsigned。

六info:

用法:

dataframe.info()

 函数说明:

打印dataframe的详细信息,包括数据类型的信息和内存占用信息等

import pandas as pd

七astype:

用法:

dataframe.astype({"uint8","int8","float16"...}})

 函数说明:

强制类型转换

八fillna:

用法:

dataframe.fillna(0,inplace=True)

 函数说明:

将dataframe里的nan数据转变为0

参数说明:

inplace:默认为false,此时会生成一个新的对象,并不会修改原数据,赋值为true后,会修改原数据

九concat:

用法:

pd.concat([df1,df2],axis={0,1},join={'inner','outer'},ignore_index=True,keys=['first','second'])

函数说明:

用于连接对象,

import pandas as pd

参数说明:

[df1,df2]:连接的对象

axis:连接方式,“0” 时,df2连接到df1下;“1” 时,df2与df1同行。缺失位置补NaN

join:赋值为“inner”时,取df1与df2的交集;赋值为"outer"时,取df1与df2的并集。

ignore_index:重新编辑索引。

keys:为连接的对象在新生成的dataframe里设置二重索引,设置ignore_index时此参数失效pandas函数_第1张图片

 

十reset_index:

用法:

dataframe.reset_index(drop=True)

函数说明:

多用于修正有多重索引的dataframe对象,可将对象修正为常规格式的dataframe,将索引修正为0~;

参数说明:

drop:抛弃已有的某个索引

十一where:

用法:

dataframe.where(condition,m,n)

函数说明:

按照某个条件对dataframe对象进行筛选,满足条件condition的,赋值为m;不满足condition的,赋值为n。where(condition,n)表示对于不满足condition的赋值为n。

import pandas as pd

参数说明:

condition:表示筛选的条件

m:与condition相符的赋值为m

n:与condition不符的赋值为n

十二rename:

用法:

dataframe.rename(columns={"A":"a","B":"a"},inplace=True)

函数说明:

可用于修改列索引,

import pandas as pd

参数说明:

columns:需要修改的列名情况

inplace:赋值为true时表示在原dataframe对象上修改

十三groupby:

用法:

dataframe.groupby(['KEY1','KEY2'])

函数说明:

用于df的分类,后面加.size(),可在分类后统计个数。实例中将dataframe按key1和key2进行分类。

import pandas as pd

参数说明:

['KEY1','KEY2']:分类的标准,按照key1和key2分类

十四loc,iloc,ix:

用法:

dataframe.loc(['a','b'],['C','D'])
dataframe.iloc([0,1],[1,2])
dataframe.ix(['a','b'],[1,2])

函数说明:

这三个函数都很相似,都用于检索dataframe里的某个或某些数据。

loc用于索引名称检索;

iloc可理解为index_loc,如果索引名称过长或者不好记,就可用数字索引检索。

ix综合了上面两种,但是对行检索时或者对列检索时分别只能用一种方式。

import pandas as pd

参数说明:

loc(['a','b'],['C','D']):检索对象的'a','b'行,'C','D'列的数据;
iloc([0,1],[1,2]):      检索对象的0,1行,1,2列的数据;
ix(['a','b'],[1,2]):       检索对象的'a','b'行,1,2列的数据;

十五pivot:

用法:

DataFrame.pivot(index='a', columns='b', values='c')

函数说明:

用于处理  行索引,列索引,数值都在dataframe内部的数据。例如:

# Bob成绩好,英语三次考试都是90多,数学都是80多;Gary英语三次都是60多,数学都是50多;
# Lucy英语三次都是几分,数学要好些,三次都是10几分。

df1 = pd.DataFrame({'object': ['English', 'math','English', 'math','English', 'math'],
                    'name': ['Bob','Bob', 'Gary', 'Gary', 'Lucy', 'Lucy'],
                    'first': ['99', '89', '60','59','3','10'],
                    'second': ['96', '88', '60','55','4','12'],
                    'third': ['94', '87', '61','53','5','11']}
                    )


df2 = df1.pivot(index='name',columns='object',values=['first','second','third'])


>>>print(df1)

  first  name   object second third
0    99   Bob  English     96    94
1    89   Bob     math     88    87
2    60  Gary  English     60    61
3    59  Gary     math     55    53
4     3  Lucy  English      4     5
5    10  Lucy     math     12    11

>>>print(df2)

         first       second        third     
object English math English math English math
name                                         
Bob         99   89      96   88      94   87
Gary        60   59      60   55      61   53
Lucy         3   10       4   12       5   11

import pandas as pd

参数说明:

index:作为行索引的数据;

colums:作为列索引的数据;

values:值

你可能感兴趣的:(python)