python数据分析函数大全_python中数据分析常用函数整理

一. apply函数

作用:对 DataFrame 的某行/列应用函数之后,Apply 返回一些值。函数既可以使用默认的,也可以自定义。注意:在第二个输出中应用 head() 函数,因为它包含了很多行。

#创建一个新函数

def num_missing(x):

return sum(x.isnull())

#应用每一列

print "Missing values per column:"

print data.apply(num_missing, axis=0) #axis=0 defines that function is to be applied on each column

#应用每一行

print "\nMissing values per row:"

print data.apply(num_missing, axis=1).head() #axis=1 defines that function is to be applied on each row

二. loc函数

作用:选择属性子集

subSalesDf=salesDf.loc[0:4,‘购药时间‘:‘销售数量‘]

三. rename函数

作用:列重命名

colNameDict = {‘购药时间‘:‘销售时间‘} #将‘购药时间’改为‘销售时间’

salesDf.rename(columns = colNameDict,inplace=True)

四. dropna函数

作用:删除缺失值,how=‘any‘意为在给定的任何一列中有缺失值就删除

salesDf=salesDf.dropna(subset=[‘销售时间‘,‘社保卡号‘],how=‘any‘) #删除列(销售时间,社保卡号)中为空的行

五. pd.to_datetime函数

作用:字符串类型的数据转换成日期格式。传入的格式是原始数据的日期格式——format=‘%Y-%m-%d‘固定写法:Y表示年、m表示月、d表示日。

salesDf.loc[:,‘销售时间‘]=pd.to_datetime(salesDf.loc[:,‘销售时间‘],

format=‘%Y-%m-%d‘,

errors=‘coerce‘)

errors=‘coerce‘: 如果原始数据不符合日期的格式,转换后的值为空值NaT。所以转换之后我们还要运行一次删除空值的代码,因为不符合格式的日期被转变为了空值需要删除。

salesDf=salesDf.dropna(subset=[‘销售时间‘,‘社保卡号‘],how=‘any‘)

六. pd.sort_values

作用:对数据进行排序,by表示按那几列进行排序,ascending=True 表示升序排列,ascending=False表示降序排列

salesDf=salesDf.sort_values(by=‘销售时间‘, #按销售日期进行升序排列

ascending=True)

七. reset_index函数

作用:生成从0到N按顺序的索引值

salesDf=salesDf.reset_index(drop=True)

八. describe函数

作用:查看数据框中所有数据每列的描述统计信息:(count:总数,mean:平均数,std:标准差,min:最小值,25%:下四分位数,50%:中位数,75%:上四分位数,max:最大值)

salesDf.describe()

九. 删除异常值

作用:假设最小值出现了小于0的情况,分析应该是记录过程中出现错误所致。

第一步:设置查询条件,这一步返回True和false

querySer=salesDf.loc[:,‘销售数量‘]>0

第二步:应用查询条件

salesDf=salesDf.loc[querySer,:]

十. drop_duplicates函数

作用:将重复的数据删除,同一个人发生的所有消费算作一次消费,根据列名(销售时间,社区卡号),如果这两个列值同时相同,只保留1条

kpi1_Df=salesDf.drop_duplicates(

subset=[‘销售时间‘, ‘社保卡号‘]

)

十一. groupby

作用:根据某一列分组

gb=groupDf.groupby(groupDf.index.month)

对分组后的数据应用函数

mounthDf=gb.sum()

十二. 不适=使用for循环的列表生成器

作用:当一个列表中的元素是由另外一个列表中对应元素经过运算得到时,可以省去for循环,适用一行代码生成模型

x = [2,3,4,5]

out = [item*2 for item in x]

print(out)

十三. Lambda 表达式

作用:不使用def关键字,也没有return。Lambda 表达式创造的函数和普通的 def 构建的函数没什么不同,只不过函数体只有单独一个表达式而已。

double=lambda x: x*2 #double是函数名,x是参数

print(double(3))

十四. map 和 filter 函数

1. map

作用:可以与Lambda表达式同时使用,map() 函数接收一个列表,和一个函数(可以是Lambda表达式),它对列表里的每个元素调用一个函数进行处理,再将结果放进一个新列表里。

result=list(map(double,x))

print(result)

2. filter

作用:它接收一个列表,和一个规则函数,在对列表里的每个元素调用这个规则函数之后,它把所有返回值为假的元素从列表中剔除,然后返回这个过滤后的子列表。

result2=list(filter(lambda a:a>4,x))

十五. arrange 函数

作用:arange() 函数按照指定的步长返回一个等差数列。除开始和结束值之外,你还可以自定义步长和数据类型。请注意,给定的结束值参数是不会被包含在结果内的。

result= np.arange(start,stop,step)

十六. linspace 函数

作用:将给定区间进行若干等分以后的等分点组成的数列。所以你传入的参数包括开始值、结束值,以及具体多少等分。linspace() 将这个区间进行等分后,把开始值、结束值和每个等分点都放进一个 NumPy 数组里。这在做数据可视化以及绘制坐标轴的时候都很有用。

result4=np.linspace(2.0,3.0,num=5)

十七. 矩阵合并函数

1.Concat

作用:把一个或多个数据表按行(或列)的方向简单堆叠起来(看你传入的 axis 参数是 0 还是 1 咯)。

2. merge

作用:merge() 将会以用户指定的某个名字相同的列为主键进行对齐,把两个或多个数据表融合到一起。

3. join

join()和 merge() 很相似,只不过 join() 是按数据表的索引进行对齐,而不是按某一个相同的列。当某个表缺少某个索引的时候,对应的值为空(NaN)。

十八. pivot_table 函数

作用:它能帮你对一个数据表进行格式化,并输出一个像 Excel 工作表一样的表格。实际使用中,透视表将根据一个或多个键对数据进行分组统计,将函数传入参数 aggfunc 中,数据将会按你指定的函数进行统计,并将结果分配到表格中。

pivot_table(data, values=None, index=None, columns=None,aggfunc=‘mean‘, fill_value=None, margins=False, dropna=True, margins_name=‘All‘)

原文地址:https://www.cnblogs.com/HondaHsu/p/12664901.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ENSP配置 实例五 RIP配置

ENSP配置 实例五 RIP配置 配置 R1 sy [Huawei]sy R1 [R1]int e0/0/0 [R1-Ethernet0/0/0]ip add 192.168.1.254 24 [R1-Ethernet0/0/0]int e0/0/1 [R1-Ethernet0/0/1]ip add 10.0.12.1 24 [R1-Ethernet0/0/1]q [R1]rip 1 [R1-rip-1]network 192.168.1.0 [R1-rip-1]network 10.0.…

如何用c语言读文件,如何用C语言读写文件

打开文件fopen("需要打开的路径")然后使用fgets函数读取行#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX_LINE1024 intmain() { charbuf[MAX_LINE]; /*缓冲区*/ FILE*fp; /*文件指针*/ intlen; /*行字符个数*/if((…

ENSP配置 实例六 OSPF配置

ENSP配置 实例六 OSPF配置 R1 [R1]interface e0/0/0 [R1-Ethernet0/0/0]ip add 192.168.1.254 24 [R1-Ethernet0/0/0]int e0/0/1 [R1-Ethernet0/0/1]ip add 10.0.12.1 24 [R1]ospf 1 router-id 1.1.1.1 [R1-ospf-1]area 0 [R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.…

python用户登录_python用户登录系统

本文实例为大家分享了用户登录系统python实现代码&#xff0c;供大家参考&#xff0c;具体内容如下 注意事项&#xff1a; 1、使用python3执行程序。按提示输入1或2&#xff0c;登录或退出程序 2、输入用户名后&#xff0c;如果用户名被锁定及无效用户名&#xff0c;程序会退出…

ENSP配置 实例七 DHCP配置

ENSP配置 实例七 DHCP配置 简单dhcp配置 [R]dhcp enable [R-Ethernet0/0/0]ip add 192.168.1.254 24 [R]ip pool 1 [R-ip-pool-1]network 192.168.1.0 mask 24 [R-ip-pool-1]gateway-list 192.168.1.254 ##配置出口网关地址 [R-ip-pool-1]dns-list 1.1.1.1 [R-Ethernet0/0/0]dh…

python调用cmd命令释放端口_Python——cmd调用(os.system阻塞处理)(多条命令执行)...

原博文 2017-11-14 15:29 − os.system&#xff08;返回值为0,1,2&#xff09;方法 0&#xff1a;成功 1&#xff1a;失败 2&#xff1a;错误 os.system默认阻塞当前程序执行&#xff0c;在cmd命令前加入start可不阻塞当前程序执行。 例如&#xff1a; import os &nbs... 相…

android+引用非+android+工程,[非原创]编译android C++工程找不到exception handle的解决办法...

C工程有时候会进行异常处理&#xff0c;所以在编译的过程中&#xff0c;可能会遇到这种提示:exception handling disabled, use-fexceptions to enable这是编译选项没有支持错误处理导致的。这种情况下要做两处修改&#xff1a;1) Android.mk里面增加&#xff1a;LOCAL_CPPFLAG…

mac抹掉磁盘重装系统未能与服务器取得联系_Mac重装系统不再难:苹果电脑重装系统教程...

我们在使用mac电脑的过程中&#xff0c;因为Mac电脑长时间使用或多或少都可能会出现一些问题&#xff0c;这个时候我们可以选择重新安装系统来解决这些问题。Mac电脑重装系统方法其实很简单&#xff0c;分为两种&#xff0c;一种可以在线重装系统&#xff0c;一种可以将Mac系统…

ENSP配置 实例八 三层交换机DHCP配置加VLAN划分实验

ENSP配置 实例八 三层交换机dhcp配置加vlan划分实验 LW1配置 [SW1]vlan batch 10 20 [SW1-GigabitEthernet0/0/1]port link-type trunk [SW1-GigabitEthernet0/0/1]p t a vlan 10 20 [SW1]int Vlanif 10 [SW1-Vlanif10]ip add 192.168.1.254 24 [SW1-Vlanif10]int vlanif 20 [S…

android content item,Android中ContentProvider的应用实例

一、ContentProvider简介当应用继承ContentProvider类&#xff0c;并重写该类用于提供数据和存储数据的方法&#xff0c;就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据&#xff0c;但数据访问方式会因数据存储的方式而不同&#xff0c;如&#xff1a;采用文…

gsonformat插件_裂墙推荐!IntelliJ IDEA 常用插件一览,让效率成为习惯

一、官方工具IntelliJ IDEA 默认安装并提供了非常多的工具&#xff0c;比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用&#xff0c;但是不为人知的工具。1. REST client在日常开发过程中&#xff0c;我们或多或少都涉及到 API…

ENSP配置 实例九 动态Nat配置

ENSP配置 实例九 动态Nat配置 sy [Huawei]sy R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 200.0.12.1 24 [R1]nat address-group 1 200.0.12.3 200.0.12.5 ## [R1]acl 2000 ## …

鸿蒙os能超越ios吗,鸿蒙OS对比iOS,华为再次“超越”,流畅度大幅领先苹果!...

随着越来越多的细节被曝光&#xff0c;鸿蒙系统也已经进入到了最后内测阶段。近日&#xff0c;华为消费者业务软件部总裁公开王成录表示&#xff0c;华为手机从6月开始&#xff0c;可以陆续升级到鸿蒙系统正式版。这是华为官方首次明确告知正式版推动的时间&#xff0c;此前在2…

ENSP配置 实例十 ACL配置

ENSP配置 实例十 ACL配置 R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 10.0.12.1 24 [R1]ip route-static 192.168.2.0 24 10.0.12.2 R2 [R2]int g0/0/0 [R2-GigabitEthernet…

android 保存联系人,保存android联系后获取联系人ID

我通过此代码保存联系人ArrayList ops new ArrayList();...int rawContactInsertIndex ops.size();ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI).withValue(RawContacts.ACCOUNT_TYPE, accountType).withValue(RawContacts.ACCOUNT_NAME, accountNam…

java离职证明模板_如何写出月薪过万的Java开发简历-附加模板

年关将近&#xff0c;却有大批失业技术员&#xff0c;无论是主动离职还是被迫离职&#xff0c;都不约而同加入了求职大军。那么软件开发人员如何才能从众多简历中脱颖而出获得面试机会呢&#xff1f;经过和众多企业HR长期的交流沟通&#xff0c;我总结了一下&#xff0c;HR们主…

ENSP配置 实例十一 综合实验

ENSP配置 实例十一 综合实验 交换机1 [SW1]vlan batch 10 20 [SW1]int g0/0/1 [SW1-GigabitEthernet0/0/1]port l a [SW1-GigabitEthernet0/0/1]p d v 10 [SW1-Ethernet0/0/1]int e0/0/2 [SW1-Ethernet0/0/2]port l a [SW1-Ethernet0/0/2]p d v 20 [SW1-Ethernet0/0/2]int e0/0…

ENSP综合配置 实例十二 实战

ENSP综合配置 期末究极综合配置 配置lanzouyun自取 太长了&#xff0c;博主比较懒 https://jiangxxx.lanzoui.com/iuudUdtiqij 密码:1234

android无法自动旋屏,Android 手动设置屏幕方向后不能自动转屏问题

如题&#xff0c;Android在手动设置屏幕方向后不能使用自动转屏了&#xff0c;这是因为手动设置屏幕方向如&#xff1a;setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);相当于在Manifest文件中Activity节点下配置了&#xff1a;android:screenOrientatio…

vue delete删除json数组_vue面试题总结(二)

“ 关注 前端开发社区 &#xff0c;回复"1"即可加入 前端技术交流群&#xff0c;回复 "2"即可免费领取 500G前端干货&#xff01; 16.vue路由传参数1.使用query方法传入的参数使用this.$route.query接受2.使用params方式传入的参数使用this.$route.params接…