Pandas 经常使用函数汇总

s : 指 Pandas 中的序列 , DataFrame/Series对象app

s.min()      若为DataFrame 则返回每一列的最小值,若为Series则返回最小值函数

s.max()    求最大spa

s.sum()     求和对象

s.mean()   求平均排序

s.count()    计数,非缺失元素索引

s.size()    计数,全部元素ip

s.median()   中位数字符串

s.var()      计算方差it

s.std()     计算标准差ast

s.quantile()  计算任意分位数,可传入 0到1 的小数,计算方式相似中位数,但结果可能不在序列中 (几等分 )

s.cov()  计算协方差     (协方差表示的是两个变量整体偏差的指望。)

s1.corr(s2)   计算相关系数     (反映两个序列的数据是否存在线性相关的,并不能排除其余相关)

s.skew   计算偏度  (暂时未理解)

s.kurt()  计算峰度  (暂时未理解)

s.mode()  计算众数   返回出现次数最多的一个或者多个数字的序列

s.describe()   描述性统计  一次性返回多个统计结果

s.aggregate(k)   能够自定义统计函数 , 聚合运算, 自定一个函数 或者lambda  来实现统计

s.groupby()   分组   ( 暂时未理解如何使用)

s.argmin()   返回序列最小值的所在位置  , 只适用于 Series  不适合DataFrame

s.argmax()                最大值 

s.any()   逻辑或   有真则真   Series 对象适用

s.all()   逻辑与   有假则假

s.value_counts()   频次统计 ,  统计每一个值出现的次数

s.cumsum()     运算累计和  ,累计求和  ,适用  Series对象

s.cumprod()   运算累计积, 

s.pct_change()  运算比率  ,  后一个 - 当前  获得的  差值 / 当前值 

s.duplicated()     用于判断序列元素是否重复,  当前 的元素,在当前索引以前出现则为真,不然为假,返回一列布尔值

s.drop_duplicates()   将重复元素删除,序列长度将可能缩短

s.hasnans()  判断序列是否存在缺失,仅返回True 或者False

s.isnull()     判断序列是否为缺失,返回与序列长度同样的布尔值的序列

s.notnull()   判断序列是否为不缺失,返回与上面相反

s.dropna()  删除缺失值

s.fillna()     填充缺失值  

s.ffill()        前向填充缺失值    填充缺失值元素的前一个元素

s.bfill()     后向填充缺失值      填充缺失值元素的后一个元素

s.dtypes   检查数据类型,只返回一个

s.astype(np.int64)  强制类型转换

pd.to_datetime()   转日期时间型

s.factorize()   因子化转换  (  包含索引的列表 ,       全部不重复的列表)

s.sample(number)  返回随机抽样 number 个 ,随机抽样

s.where(s>4,9)     基于条件判断进行值替换  , 不符合某个条件 则修改成后面的值

s.replace()    按值替换  不可以使用正则

s.str.replace()  按值替换 ,可以使用正则

s.str.split.str()    字符分割      house = pd.Series(['大宁金茂府 | 3室2厅 | 158.32平米 | 南 | 精装',
                   '昌里花园 | 2室2厅 | 104.73平米 | 南 | 精装',
                   '纺大小区 | 3室1厅 | 68.38平米 | 南 | 简装'])
# 取出二手房的面积,并转换为浮点型
house.str.split('|').str[2].str.strip().str[:-2].astype(float)

s.isin([2,3,])   成员关系判断   若是值在给定列表中则为真, 返回一系列bool值

s.between(1,2)   区间判断  ,既包含头也包含尾

s.loc[s>1]        条件判断并取值   适用于序列和数据框

s.iloc[ ]    索引判断,

  s 为序列时  ,  传入整数,则取指定位置,    1:5:2    隔2取,1开始5结束 

  当处理数据框对象时 , 提取符合条件的行   df.iloc[lambda x: x.index%2==1]      df.iloc[0,1]  则取一个值

  使用切片     df.iloc[1:3, 0,3]   

   提取指定行指定列  df.iloc[ [1 , 2] , [0,3] ]   

s.compress(s>3)   条件判断     和loc 相似,可是传参以小括号形式

s.nlargest(2)    搜寻最大的 n个元素 ,且结果已经排好序

s.nsmallest()   搜寻最小的n个元素

s.str.findall()    子串查询  ,可以使用正则    只适用字符串

  y = pd.Series(['ID:1 name:张三 age:24 income:13500',
               'ID:2 name:李四 age:27 income:25000',
               'ID:3 name:王二 age:21 income:8000'])
  # 取出年龄,并转换为整数
  print(y.str.findall('age:(d+)').str[0].astype(int))

 

s.hist()  快速绘制直方图

s.plot(kind='box')     可基于kind参数绘制  饼图     箱线图 box ,条形图 bar 

s.map(lambda x : x*2 )   元素映射 

s.apply( 函数  )   使用方式和map 相似,结果相似,暂未找到其余不一样点

   

s.dt.date    抽取日期  年月日       s 必须为datetime 类型 ,能够先转类型      返回序列或者数据框

s.dt.time    抽取时间   时分秒     

s.dt.year   抽取年

s.dt.month  月

s.dt.day    日

s.dt.hour   时

s.dt.minute  分

s.dt.second  秒 

s.dt.quarter   季度

s.dt.weekday   周几     数值类型

s.dt.weekday_name  周几    字符型

s.dt.week   日期为这一年的第几周 

s.dt.dayofyear    日期为这一年的第几天

s.dt.daysinmonth   日期为月对应的最大天数

s.dt.is_month_start    判断日期是否为当月第一天

s.dt.is_month_end  判断日期是否为当月的最后一天

s.dt.is_quarter_start  判断日期是否为当季度的第一天

                       _end                                         最后

s.dt.is_year_start               当年第一天

      end    

s.dt.is_leap_year     判断日期是否为闰年

 

s.append( s2)  在一个序列后添加另外一个序列

 s.diff()      一阶差分   ,  当前一个减去前一个    ,第一个 为  Nan

s.round()    元素四舍五入

s.sort_values()     按值排序

s.sort_index()   按索引排序

s.to_dict()   转为字典    

s.tolist()   转为列表

s.unique()  元素排重    去重显示,长度缩短 

相关文章
相关标签/搜索