《利用python进行数据分析(第二版)》笔记
numpy使用
| 函数 |
说明 |
|---|
| abs/fabs |
计算整数、浮点数或复数的绝对值。对于非复数值,可以使用更快的fabs |
| sqrt |
计算各元素的平方根。相当于arr**0.5 |
| square |
计算各元素的平方。相当于arr**2 |
| exp |
计算各元素的指数e^x |
| log/log10/log2/log1p |
分别为自然对数(底数为e)、底数为10的log、底数为2的log、log(1 + x) |
| sign |
计算各元素的正负号:1(正数)、0(零)、-1(负数) |
| ceil |
计算各元素的ceiling值,即大于等于该值的最小整数 |
| floor |
计算各元素的floor值,即小于等于该值的最大整数 |
| rint |
将各元素四舍五入到最接近的整数,保留dtype |
| modf |
将数组的小数和整数部分以两个独立数组的形式返回 |
| isnan |
返回一个表示“哪些值是NaN”的布尔型数组 |
| isfinite/isinf |
分别返回一个表示“哪些元素是有穷的(非ing,非NaN)”或“哪些元素是无穷的”的布尔型数组 |
| cos/cosh/sin/sinh/tan/tanh |
普通型和双曲型三角函数 |
| arccos/arccosh/arcsin/arcsinh/arctan/arctanh |
反三角函数 |
| logical_not |
计算各元素not x的真值。相当于-arr |
| add |
将数组中对应的元素相加 |
| subtract |
从第一个数组中减去第二个数组中的元素 |
| multiply |
数组元素相乘 |
| divide/floor_divide |
除法或向下圆整除法(丢弃余数) |
| power |
对第一个数组中的元素A,根据第二个数组中的相应元素B,计算A^B |
| maximum/fmax |
元素级的最大值计算。fmax将忽略NaN |
| minimum/fmin |
元素级的最小值计算。fmin将忽略NaN |
| mod |
元素级的求模计算(除法的余数) |
| copysign |
将第二个数组中的值得符号复制给第一个数组中的值 |
| greater/greater_equal/less/less_equal/equal/not_equal |
执行元素级的比较运算,最终产生布尔型数组。相当于中缀运算符>、>=、<、<=、==、!= |
| logical_and/logical_or/logical_xor |
执行元素级的真值逻辑运算。相当于中缀运算符&、 |
| sum |
对数组中全部或某轴向的元素求和。零长度的数组的sum为0 |
| mean |
算术平均数。零长度的数组的mean为NaN |
| std/var |
分别为标准差和方差,自由度可调(默认为n) |
| min/max |
最大值和最小值 |
| argmin/argmax |
分别为最大或最小元素的索引 |
| cumsum |
所有元素的累计和 |
| cumprod |
所有元素的累计积 |
| unique(x) |
计算x中的唯一元素,并返回有序结果 |
| intersect1d(x, y) |
计算x和y中的公共元素,并返回有序结果 |
| union1d(x, y) |
计算x和y的并集,并返回有序结果 |
| in1d(x, y) |
得到一个表示“x的元素是否包含于y”的布尔型数组 |
| setdiff1d(x, y) |
集合的差,即元素在x中且不在y中 |
| setxor1d(x, y) |
集合的对称差,即存在于一个数组中但不同时存在于两个数组中的元素 |
| 函数 |
说明 |
|---|
| diag |
以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0) |
| dot |
矩阵乘法 |
| trace |
计算对角线元素的和 |
| det |
计算矩阵行列式 |
| eig |
计算方阵的本征值和本征向量 |
| inv |
计算方阵的逆 |
| pinv |
计算矩阵的Moore-Penrose伪逆 |
| qr |
计算QR分解 |
| svd |
计算奇异值分解(SVD) |
| solve |
解线性方程组Ax = b,其中A为一个方阵 |
| lstsq |
计算Ax = b的最小二乘解 |
| 函数 |
说明 |
|---|
| seend |
确定随机数生成器的种子 |
| permutation |
返回一个序列的随机排列或返回一个随机排列的范围 |
| shuffle |
返回一个序列就地随机排列 |
| rand |
产生均匀分布的样本值 |
| randint |
从给定的上下限范围内随机选取整数 |
| randn |
产生正态分布(平均值为0,标准差为1)的样本值 |
| binomial |
产生二项分布的样本值 |
| normal |
产生正态(高斯)分布的样本值 |
| beta |
产生Beta分布的样本值 |
| chisquare |
产生卡方分布的样本值 |
| gamma |
产生Gamma分布的样本值 |
| uniform |
产生[0,1)均匀分布的样本值 |
Pandas使用
| 类型 |
说明 |
|---|
| 二维ndarray |
数据矩阵,还可以传入行标和列标 |
| 由数组、列表或元组组成的字典 |
每个序列会变成DataFrame的一列 |
| NumPy的结构化/记录数组 |
类似于“由数组组成的字典” |
| 由Series组成的字典 |
每个Series会成为一列。如果没有显式指定索引,则各Series的索引会被合并成结果的行索引 |
| 由字典组成的字典 |
各内层字典会成为一列。键会被合并成结果的行索引,跟“由Series组成的字典”的情况一样 |
| 字典或Series的列表 |
各项将会成为DataFrame的一行。字典键或Series索引的并集将会成为DataFrame的列标 |
| 由列表或元组组成的列表 |
类似于“二维ndarray” |
| 另一个DataFrame |
该DataFrame的索引将会被沿用,除非显式指定了其他索引 |
| NumPy的MaskerArray |
类似于“二维ndarray”的情况,只是掩码值在结果DataFrame会变成NA/缺失值 |
| 方法 |
说明 |
|---|
| append |
连接另一个Index对象,产生一个新的Index |
| difference |
计算差集,并得到一个Index |
| intersection |
计算交集 |
| union |
计算并集 |
| isin |
计算一个指示各值是否都包含在参数合中的布尔型数组 |
| delete |
删除索引i处的元素,并得到新的Index |
| drop |
删除传入的值,并得到新的Index |
| insert |
将元素插入到索引i处,并得到新的Index |
| is_monotonic |
当各元素均大于等于前一个元素时,返回True |
| is_unique |
当Index没有重复值时,返回True |
| unique |
计算Index中唯一值得数组 |
| 参数 |
说明 |
|---|
| index |
用作索引的新序列。既可以是Index实例,也可以是其他序列型的Python数据结构。Index会被完全使用,就像没有任何复制一样 |
| method |
插值(填充)方式 |
| fill_value |
在重新索引的过程中,需要引入缺失值时使用的替代值 |
| limit |
前向或后向填充时的最大填充量 |
| tolerance |
向前后向后填充时,填充不准确匹配项的最大间距(绝对值距离) |
| level |
在MultiIndex的指定级别上匹配简单索引,否则选取其子集 |
| copy |
默认为True,无论如何都复制,如果为False,则新旧相等就不复制 |
| 类型 |
说明 |
|---|
| df[val] |
从DataFrame选取单列或一组列:在特殊情况下比较便利:布尔型数组(过滤行)、切片(行切片)、或布尔型DataFrame(根据条件设置值) |
| df.loc[val] |
通过标签,选取DataFram的单个行或一组行 |
| df.loc[:, val] |
通过标签,选取单列或子集 |
| df.loc[val1, val2] |
通过标签,同时选取行和列 |
| df.iloc[where] |
通过整数位置,从DataFrame选取单个行或行子集 |
| df.iloc[where_i, where_j] |
通过整数位置,同时选取行和列 |
| df.at[label_i, label_j] |
通过行或列标签,选取单一的标量 |
| df.iat[i, j] |
通过行和列的位置(整数),选取单一的标量 |
| reindex |
通标签选取行或列 |
| get_value, set_value |
通过行和列标签选取单一值 |
| 方法 |
说明 |
|---|
| average |
默认:在相等分组中,为各个值分配平均排名 |
| min |
使用整个分组的最小排名 |
| max |
使用整个分组的最大排名 |
| first |
按值在原始数据中的出现顺序分配排名 |
| dense |
类似于min方法,但是排名总是在组间增加1,而不是组中相同的元素数 |
| 选项 |
说明 |
|---|
| axis |
约简的轴。DataFrame的行用0, 列用1 |
| skipna |
排除缺失值,默认值为True |
| level |
如果轴是层次化索引的(即MultiIndex),则根据level分钟约简 |
| 方法 |
说明 |
|---|
| count |
非NA值得数量 |
| describe |
针对Series或各DataFrame列计算汇总统计 |
| min、max |
计算最小值和最大值 |
| argmin、argmax |
计算能够获取到最小值和最大值得索引位置(整数) |
| idxmin、idxmax |
计算能够获取到最小值和最大值得索引值 |
| quantile |
计算样本的分位数(0到1) |
| sum |
值的总和 |
| mean |
值的平均数 |
| median |
值的算术中位数 |
| mad |
根据平均值计算评价绝对离差 |
| var |
样本值的方差 |
| std |
样本值的标准差 |
| skew |
样本值的偏度(三阶距) |
| kurt |
样本值的峰度(四阶距) |
| cumsum |
样本值的累计和 |
| cummin、cummax |
样本值的累计最大值和累计最小值 |
| cumprod |
样本值的累计积 |
| diff |
计算一阶差分(对时间序列很有用) |
| pct_change |
计算百分数变化 |
数据加载
| 函数 |
说明 |
|---|
| read_csv |
从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为逗号 |
| read_table |
从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为制表符(’\t’) |
| read_fwf |
读取定宽格式数据(就是没有分隔符) |
| read_clipboard |
读取剪贴板中的数据,可以看做read_table的剪贴板版。再将网页转换成表格时很有用 |
| read_excel |
从Excel XLS 或XLSX file 读取表格数据 |
| read_hdf |
读取pandas写的HDF5文件 |
| read_html |
读取HTML文档中的所有表格 |
| read_json |
读取JSON(JavaScript Object Notation)字符串中的数据 |
| read_msgpack |
二进制格式编码的pandas数据 |
| read_pickkle |
读取Python pickle格式中存储的任意对象 |
| read_sas |
读取存储于SAS系统自定义存储格式的SAS数据集 |
| read_sql |
读取SQL查询结果为pandas的DataFrame |
| read_stata |
读取Stat文件格式的数据集 |
| read_feather |
读取Feather二进制文件格式 |
| 参数 |
说明 |
|---|
| path |
表示文件系统位置、URL、文件型对象的字符串 |
| sep或delimiter |
用于对行中各字段进行拆分的字符序列或正则表达式 |
| header |
用作列名的行号。默认为0(第一行),如果没有header行就应该设置为None |
| index_col |
用作行索引的列编号或列名。可以是单个名称/数字或由多个名称/数字组成的列表(层次化索引) |
| names |
用于结果的列名列表,结合header=None |
| skiprows |
需要忽略的行数,或需要跳过的行号列表(从0开始) |
| na_values |
一组用户替换NA的值 |
| comment |
用于将注释信息从行尾拆分出去的字符(一个或多个) |
| parse_dates |
尝试将数据解析为日期,默认为False。如果为True,则尝试解析所有列。此外,还可以指定需要解析的一组列号或列名。如果列表的元素为列表或元组,就会将多个列组合到一起再进行日期解析工作 |
| keep_date_col |
如果连接多列解析日期,则保持参与连接的列。默认为False |
| converters |
由列号/列名跟函数之间的映射关系组成的字典。例如,{‘foo’:f}会对foo列的所有值应用函数f |
| dayfirst |
当解析有歧义的日期时,将其看做国际格式(例如,7/6/2012 -> June 7,2012)。默认为False |
| date_parse |
用作解析日期的函数 |
| nrows |
需要读取的行数(从文件开始处算起) |
| iterator |
返回一个TextParser以便逐块读取文件 |
| chunksize |
文件块的大小(用于迭代) |
| skip_footer |
需要忽略的行数(从文件末尾处算起) |
| verbose |
打印各种解析器输出信息,比如“非数值列中缺失值的数量”等 |
| encoding |
用于unicode的文本编码格式。例如,“utf-8”表示用UTF-8编码的文本 |
| squeeze |
如果数据经解析吼仅含一列,则返回Series |
| thousands |
千分位分隔符,如“,”或“.” |
| 参数 |
说明 |
|---|
| delimiter |
用于分隔字段的单字符串。默认为“,” |
| lineterminator |
用于写操作的行结束符,默认为“\r\n”。读操作将忽略此选项,它能认出跨平台的行结束符 |
| quotechar |
用于带有特殊字符(如分隔符)的字段的引用符号。默认为“"” |
| quoting |
引用约定。可选值包括csv.QUOTE_ALL(引用所有字段)、csv.QUOTE_MINIMAL(只引用带有诸如分隔符之类特殊字符的字段)、csv.QUOTE_MNNUMERIC以及csv.QUOTE_NON(不引用)。默认是QUOTE_MINIMAL |
| skipinitialspace |
忽略分隔符后面的空白符。默认为False |
| doublequote |
如果为True,则双写。 |
| escapechar |
用于对分隔符进行转义的字符串。(如果quoting被设置为csv.QUOTE_NONE的话)。默认禁用 |
空值处理
| 方法 |
说明 |
|---|
| dropna |
根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阈值调节对缺失值的容忍度 |
| fillna |
用指定值或插值方法(如ffill或bfill)填充缺失数据 |
| isnull |
返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值/NA,该对象的类型与源类型一样 |
| notnull |
isnull的否定式 |
| 参数 |
说明 |
|---|
| value |
用于填充缺失值的标量值或字典对象 |
| method |
插值方式。如果函数调用时未指定其他参数额话,默认为“ffill” |
| axis |
待填充的轴,默认axis=0 |
| inplace |
修改调用者对象而不产生副本 |
| limit |
(对于前向和后向填充)可以连续填充的最大数量 |
| 方法 |
说明 |
|---|
| count |
返回子串在字符串中的出现次数(非重叠) |
| endswith、startswith |
如果字符串以某个后缀结尾(以某个前缀开头),则返回True |
| join |
将字符串用作连接其他字符串序列的分隔符 |
| index |
如果在字符串中找到子串,则返回子串第一个字符所在的位置。如果没有找到,则引发ValueError。 |
| find |
如果在字符串中找到子串,则返回第一个发现的子串的第一个字符所在的位置。如果没有找到,则返回-1 |
| rfind |
如果在字符串中找到子串,则返回最后一个发现的子串的第一个字符所在的位置。如果没有找到,则返回-1 |
| replace |
用另一个字符串替换指定子串 |
| strip/rstrip/lstrip |
去除空白符(包括换行符)。相当于对各个元素执行x.strip()(以及rstrip/lstrip)。 |
| split |
通过指定的分隔符将字符串拆分为一组子串 |
| lower/upper |
分别将字母字符转换为小写或大写 |
| ljust/rjust |
用空格(或其他字符)填充字符串的空白侧以返回符合最低宽度的字符串 |
| 方法 |
说明 |
|---|
| cat |
实现元素级的字符串连接操作,可指定分隔符 |
| count |
返回表示某个字符串是否含有指定模式的布尔型数组 |
| extract |
使用带分组的正则表达式从字符串Series提取一个或多个字符串,结果是一个DataFrame,每组有一列 |
| endswith |
相当于对每个元素执行x.endswith(pattern) |
| startswith |
相当于对每个元素执行x.startswith(pattern) |
| findall |
计算各字符串的模式列表 |
| get |
获取各元素的第i个字符 |
| isalnum |
相当于内置的str.alnum |
| isalpha |
相当于内置的str.isalpha |
| isdecimal |
相当于内置的str.isdecimal |
| isdigit |
相当于内置的str.isdigit |
| islower |
相当于内置的str.islower |
| isnumeric |
相当于内置的str.isnumeris |
| isupper |
相当于内置的str.isupper |
| join |
根据指定的分隔符将Series中各元素的字符串连接起来 |
| len |
计算各字符串的长度 |
| lower,upper |
转换大小写。相当于对于各个元素执行x.lower()或x.upper() |
| match |
根据指定的正则表达式对各个元素执行re.match,返回匹配的组为列表 |
| pad |
在字符串的左边、右边或两边添加空白符 |
| center |
相当于pad(side=‘both’) |
| repeat |
重复值。例如,s.str.repeat(3)相当于对各个字符串执行x*3 |
| replace |
用指定字符串替换找到的模式 |
| slice |
对Series中的各个字符串进行子串截取 |
| split |
根据分隔符或正则表达式对字符串进行拆分 |
| strip |
去除两边的空白符,包括新行 |
| rstrip |
去除右边的空白符 |
| lstrip |
去除左边的空白符 |
数据规整
| 参数 |
说明 |
|---|
| left |
参与合并的左侧DataFarame |
| right |
参与合并的右侧DataFrame |
| how |
“inner”、“outer”、“left”、“right”其中之一。默认为“inner” |
| on |
用于连接的列名。必须存在于左右两个DataFrame对象中。如果未指定,且其他连接键也未指定,则以left和right列名的交集作为连接键 |
| left_on |
左侧DataFrame中用作连接键的列 |
| right_on |
右侧DataFrame中用作连接键的列 |
| sort |
根据连接键对合并后的数据进行排序,默认为True。有时在处理大数据集时,禁用该选项可获得更好的性能 |
| suffixes |
字符串值元组,用于追加到重叠列名的末尾,默认为(’_x’, ‘_y’)。例如,如果左右两个DataFrame对象都有“data”,则结果中就会出现“data_x”和“data_y” |
| copy |
设置为False,可以在某些特殊情况下将数据复制到结果数据结构中。默认总是复制。 |
| 选项 |
说明 |
|---|
| inner |
使用两个表都有的键 |
| left |
使用左表中所有的键 |
| right |
使用右表中所有的键 |
| outer |
使用两个表中所有的键 |
| 参数 |
说明 |
|---|
| objs |
参与连接的pandas对象的列表或字典。唯一必须的参数 |
| axis |
指明连接的轴向,默认是0 |
| join |
“inner”、“outer”其中之一,默认为“outer”。指明其他轴向上的索引是按交集(inner)还是并集(outer)进行合并 |
| join_axes |
指明用于其他n-1条轴的索引,不执行并集/交集运算 |
| keys |
与连接对象有关的值,用于形成连接轴向上的层次化索引。可以是任意值的列表或数组、元组数据、数组列表(如果将levels设置成多级数组的话) |
| levels |
指定用作层次化索引各级别上的索引,如果设置了keys的话 |
| names |
用于创建分层级别的名称,如果设置了keys和(或)levels的话 |
| verify_integrity |
检查结果对象新轴上的重复情况,如果发现则引发异常。默认(False)允许重复 |
| ignore_index |
不保留连接轴上的索引,产生一组新索引range(total_length) |
来源:CSDN
作者:a5566baga
链接:https://blog.csdn.net/u013057271/article/details/104483083