常用命令(python数据分析)
时间:2019-12-03
本文章向大家介绍常用命令(python数据分析),主要包括常用命令(python数据分析)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
-
导入包
import pandas as pd import numpy as np
-
导入数据
#默认utf-8,gbk对中文的支持更好 pd.read_csv(filename,encoding='gbk') #key是列名,value是数据,从字典导入数据需要指定index dict1 = {'a':1,'b':2} df = pd.DataFrame(dict1,index=[0])
-
查看数据
#行数、列数 df.shape[0] df.shape[1] #前几行,后几行,默认为5 df.head() df.tail(3) #数据汇总统计 df.describe() #数据概况 df.info() #列名 df.columns #数据类型 df.dtypes #各列平均值 df.mean()
-
数据选取
#按列名查看某列 df[col_name] df.col_name #查列名看多列 df[[col1,col2]] #按索引查看某行,第一行: df.iloc[0] #按索引查看某行某列,三行四列那个元素 df.iloc[2,3]
-
数据合并
#按行拼接 pieces = [df[2:20],df[23:30],df[35:40]] df2 = pd.concat(pieces) #按列拼接 left = pd.DataFrame({'key': ['foo', 'bar'], 'col1': [1, 2]}) right = pd.DataFrame({'key': ['foo', 'bar'], 'col2': [4, 5]}) pd.merge(left,right,on='key') #增加一列 df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D']) extra = df.iloc[-1] data = df.append(extra)
-
数据清理 (注意: 修改DataFrame要赋值)
#检查是否空值,返回布尔值(rue,False) df.isnull() #返回各列空值的个数 df.isnull().sum() #处理空值,用x替换空值 df = df.fillna(x) #删除包含空值的行 df = df.dropna() #删除包含空值的列 df = df.dropna(axis=1)
-
数据处理
#选择某列大于1的行 df[df[colname]>1] #选择某列包含x或者y字段的行,pandas有很多字符串处理函数 df[df[colname].str.contains(x|y)] #替换字符 df[df[colname].replace('k','000')] #转换数据类型 df.num = df.num.astype(float) #查看某列的唯一值的个数 df.colname.value_counts() #按照某列排序(默认升序) df.sort_values(by = colname,ascending=True) #应用函数,简单的可以用lambda df.apply(lambda x:x.max()-x.min()) #复杂的可以先定义好函数 def func(): pass df.apply(func) #也可以用numpy自带的,例如cumsum累加 df.apply(np.cumsum)
-
分组聚合
#准备数据 df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C' : np.random.randn(8), 'D' : np.random.randn(8)}) #对两列进行分组并求均值,类似于SQL里的group by df.groupby(['A','B']).mean() #数据透视表,以col1为行,col2为列,取col3和col4的最大值,可以参考Excel的数据透视表 df.pivot_table(index=col1,columns=col2,values=[col3,col4],aggfunc=max)
原文地址:https://www.cnblogs.com/where1-1/p/10577816.html
- 检查两个数据库里的表名、字段是否一致的一种方法
- 如何在Python中从零开始实现随机森林
- 基类、接口的应用——表单控件:一次添加、修改一条记录,一次修改多条记录。(上)
- 使命必达: 深入剖析WCF的可靠会话[协议篇](下)
- 分页控件和几个相关控件的源代码
- Python编程中的反模式
- Python机器学习库:Scikit-Learn简介
- 很简单的企业管理器---我写程序的方式,几个自定义控件。
- 使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](上)
- 其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)
- 为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造
- 如何使用Python基线预测进行时间序列预测
- 如何使用统计显着性检验来解释机器学习结果
- 其实添加数据也可以这样简单——表单的第一步抽象(针对数据访问层)《怪怪设计论: 抽象无处不在 》有感
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android | Tangram动态页面之路(三)使用
- Android | Tangram动态页面之路(四)vlayout原理
- 基于QuestaSIM的SystemVerilog DPI使用流程(step by step)
- Android | Tangram动态页面之路(五)Tangram原理
- Android | Tangram动态页面之路(六)数据分离
- 在 mono 下使用微软的 OWIN 认证中间件
- 重温四大基础数据结构:数组、链表、队列和栈
- C# 程序在 Docker 中响应 Unix 信号
- Android | Tangram动态页面之路(七)硬核的Virtualview
- Spark SQL如何选择join策略
- 江湖事儿 | 技术人如何做好晋升准备
- Dockerfile 的 ENTRYPOINT 与 CMD
- Docker Entry Script 详解
- 使用 docker-compose 替代 docker run
- 分享给您一个快速离职的 SHELL 脚本