目录
一read_csv:
二to_csv:
三set_option:
四select_dtypes:
五to_numeric:
六info:
七astype:
八fillna:
九concat:
十reset_index:
十一where:
十二rename:
十三groupby:
十四loc,iloc,ix:
十五pivot:
用法:
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'列指定为行索引
pd.to_csv("filename" ,sep = '\t',header=None)
函数说明:
用于将csv文件格式的数据保存为csv文件,通常用来保存dataframe数据
import pandas as pd
参数说明:
"filename": 保存文件名
sep:保存数据分隔符
header:是否保留列索引
用法:
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,可能会出现一行显示不下,放到下一行展 示,造成数据不整齐
用法:
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')
用法:
pd.to_numeric(arg, errors=None, downcast=None)
函数说明:
将参数转变为数字类型,
import pandas as pd
参数说明:
arg:需要转变的参数
errors:赋值为coerce时,将无效值强制转换为NaN;赋值为
ignore时,将无效值忽略。
downcast:向下转变的类型。想占用少转变,如需转变为unsigned,需填unsigned。
用法:
dataframe.info()
函数说明:
打印dataframe的详细信息,包括数据类型的信息和内存占用信息等
import pandas as pd
用法:
dataframe.astype({"uint8","int8","float16"...}})
函数说明:
强制类型转换
用法:
dataframe.fillna(0,inplace=True)
函数说明:
将dataframe里的nan数据转变为0
参数说明:
inplace:默认为false,此时会生成一个新的对象,并不会修改原数据,赋值为true后,会修改原数据
用法:
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时此参数失效
用法:
dataframe.reset_index(drop=True)
函数说明:
多用于修正有多重索引的dataframe对象,可将对象修正为常规格式的dataframe,将索引修正为0~;
参数说明:
drop:抛弃已有的某个索引
用法:
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
用法:
dataframe.rename(columns={"A":"a","B":"a"},inplace=True)
函数说明:
可用于修改列索引,
import pandas as pd
参数说明:
columns:需要修改的列名情况
inplace:赋值为true时表示在原dataframe对象上修改
用法:
dataframe.groupby(['KEY1','KEY2'])
函数说明:
用于df的分类,后面加.size(),可在分类后统计个数。实例中将dataframe按key1和key2进行分类。
import pandas as pd
参数说明:
['KEY1','KEY2']:分类的标准,按照key1和key2分类
用法:
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列的数据;
用法:
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:值