numpy常用函数

%matplotlib notebook

import matplotlib.pyplot as plt

import numpy as np

x1=np.arange(100)#返回0-99的一组等差数列

x2=np.linspace(0,100,100)#从(0,100)均匀取100个点

data=[6,7.5,8,0,1]

x3=np.array(data)#将输入数据转换为数组

x4=np.random.randn(100)#随机生成一个1行的数组

x5=np.random.randn(2,3)#随机生成一个2行3列的数组

data1=[[1,2,3,4],[5,6,7,8]]

x6=np.array(data1)#将输入数据转换为数组

x4

pandas常用函数

一、导入外部数据

import pandas as pd

import numpy as np

path=r'...\*.csv'

df=read_table(path,sep=',',header=None)

或df=pd.Dataframe(pd.read_csv(path,header=None))

二、数据表检查

(1)数据维度:df.shape #使用shape函数来查看数据表的维度,也就是行数和列数。

(2)数据表信息:df.info() #使用info函数查看数据表的整体信息,包括数据维度、列名称、数据格式和所占空间等信息。

(3)数据格式:df.dtypes #查看数据表各列格式

df['某列'].dtype #查看单列的格式

(4)检查空值:df.isnull() #检查表中数据是否为空值

df['某列'].isnull #检查某列数据是否为空值

(5)查看唯一值:df['某列'].unique() #查看某列的唯一值,需要先选中列

(6)查看数据表的值:df.values

(7)查看列名称:df.columns

(8)查看前3行:df.head(3)

(9)查看后3行:df.tail(3)

三、数据清洗

1、处理空值(删除或填充)

df.dropna(how='any') #删除数据表中含有空值的行

df.fillna(value=0) #使用数字0填充数据表中的空值

df['price'].fillna(df['price'].mean()) #使用price列的均值填充price列的空值

2、清理空格

df['city']=df['city'].map(str.strip) #清除city列中的字符空格

3、大小写转换

df['city']=df['city'].str.lower() #将city列的值转换为小写

4、更改数据格式

df['price'].astype('int') #通过astype函数来修改数据格式

5、修改列名称

df.rename(columns={'old':'new'})#将列名old修改为new

6、删除重复项

df['city'].drop_duplicates()#将city列中的重复值删除,默认保留第一个出现的

df['city'].drop_duplicates(keep='last')#将city列中的重复值删除,默认保留最后一个

7、数值修改及替换

df['city'].replace('old','new') #将city列出现的old值替换为new

四、数据预处理

1、数据表合并

在excel中没有直接完成数据表合并的函数,但可以通过vlookup函数分步实现。在python中可以通过merge函数一次性实现。

df_inner=pd.merge(df1,df2,how='inner') #使用merge函数对两个数据表进行合并,合并的方式为inner,将 两个数据表中共有的数据匹配到一起生成新的数据表。并命名为 df_inner。

合并的方式还有left,right,outer:

df_inner=pd.merge(df1,df2,how='left',on=df1[''])

df_inner=pd.merge(df1,df2,how='right',on=df2[''])

df_inner=pd.merge(df1,df2,how='outer')

2、设置索引列

索引列可以进行数据提取、筛选、汇总

df_inner.set_index('id')#设置id列为索引

df_inner.reset_index()#恢复索引

df_inner.set_index('age')#设置age列为索引

3、排序(按索引、按数值)

可以用sort_index()或sort_values(by=['特定列'])按索引或特定列的值排序

df_inner.sort_index() #按索引列排序

df_inner.sort_values(by=['age']) #按特定列的值排序

4、数据分组

df_inner['group']=np.where(df_inner['price']>3000,'high','low') #增加group列,对价格进行分组

df_inner.loc[(df_inner['city']=='Beijing')&(df_inner['price']>=4000),'sign')]=1#还可以对多个字段的值进行判断后,进行分组.对city列为北京并且price>=4000的数据标记为1

5、数据分列

在python中使用split函数实现分列

df_split=pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size']) #将df_inner表中的category列分成category、size两列,分隔符为‘-’。

五、数据提取

1、按标签提取(loc[])

df_inner.loc[3]#按索引提取(索引=3)单行的数值

df_inner.loc[0:2] #按索引提取区域行数(索引在0-2)的数值

重设date列为索引

df_inner.loc[:'2013-01-04'] #提取2013-01-04之前的所有数据

2、按位置提取(iloc[])

df_inner.iloc[:2,:3]#提取前2行,前3列的数据

df_inner.iloc[[1,3],[3,5]]#提取第1、3行,第3、5列的数据

3、按标签和位置提取(ix[])

df_inner.ix[:'2013-01-04',:4]#提取2013-01-04之前的行,第3、5列的数据数据

4、按条件提取(区域和条件值)

df_inner.loc[df_inner['city'].isin(['Beijing'])] #筛选city为北京的行

六、数据筛选

1、与

df_inner.loc[(df_inner['age']>25)&(df_inner['city']=='Beijing'),['point','price']]

2、或

df_inner.loc[(df_inner['age']>25)|(df_inner['city']=='Beijing'),['point','price']].sort(['age'])

3、非

df_inner.loc[(df_inner['age']>25)|(df_inner['city']!='Beijing'),['point','price']].sort(['id'])

df_inner.loc[(df_inner['age']>25)|(df_inner['city']!='Beijing'),['point','price']].sort(['id']).city.count()

4、query()函数

df_inner.query('city==['Beijing','shanghai']')

df_inner.query('city==['Beijing','shanghai']').price.sum() #对筛选后的price字段求和

七、数据汇总

1、分类汇总

2、数据透视

八、数据统计

1、数据采样

2、描述统计

3、相关分析

df_inner['price'].corr(df_inner['point'])

九、数据输出

1、写入excel

df_inner.to_excel('excel_to_python_dlp_test.xlsx',sheet_name='test_cc')

2、写入csv

df_inner.to_csv('excel_to_python_dlp_test2.csv')

本文转载自:https://zhuanlan.zhihu.com/p/97617276

python excel提取 替换_python代替excel的常用操作相关推荐

  1. python xlrd读取excel所有数据_python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlw ...

  2. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  3. python读取表格数据_Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  4. python 拆分excel工作表_Python将一个Excel拆分为多个Excel

    本文实例为大家分享了Python将一个Excel拆分为多个Excel的具体代码,供大家参考,具体内容如下 原始文档如下图所示 将销售部门一.二.三科分别存为三个Excel 代码如下 # -*- cod ...

  5. excel中python是什么意思_python在excel中的应用是什么

    python在excel中的应用:1.pandas操作Excel指定的单行:2.读取指定的多行:3.读取指定的行列:4.读取指定的多行多列值:5.获取所有行的指定列:6.获取行号并打印输出. 本教程操 ...

  6. python编辑学生分数_python处理excel(04)数据筛选和过滤

    源数据,我们最终要找出年龄在18--30岁之间,分数大于85分的学生,为A类学生.在excel里可以使用筛选功能,先筛选age列,大于等于.小于.这两个条件限制.然后选score后边的小三角,条件为大 ...

  7. python向excel写数据_Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  8. python做excel表格代码_Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  9. excel数据导入python后不对齐_Python处理Excel文件的实用姿势

    真正的勇士,敢于直面银行卡上的余额,敢于正视磅秤上的数字. 表格数据是最常见的数据类型,Excel是日常办公中最常接触的文件. 上一章提过Python可以通过openpyxl模块处理Excel文件. ...

最新文章

  1. 比特币现金社区推出OP_RETURN的4字节前缀指南
  2. 基于SSM实现商户管理系统
  3. 10个步骤:如何成为iPhone游戏开发者
  4. Linux中srch出现bash,Shell练习题(3)
  5. js温故而知新11(AJAX)——学习廖雪峰的js教程
  6. [LintCode笔记了解一下]64.合并排序数组
  7. Win-MASM64汇编语言-标志寄存器(EFLAGS/PSW/PUSHF/POPF)
  8. HTTP请求报文格式
  9. Linux7安装硬盘显示错误,【原创文章】centos7 badblocks检测硬盘出现Value too large for defined data type错误的原因和解决办法...
  10. VC++中OpenGL的配置
  11. ASP.NET TreeView操作实例
  12. matlab里用simulink仿真教程,Matlab-Simulink仿真教程课件.ppt
  13. java 实现ukey身份认证_一种基于ukey认证的单点登录实现方法与流程
  14. sosoapi 安装配置
  15. 【备忘】Pr基本操作
  16. 超详细的Python面向对象编程讲解
  17. 服务器跳过系统自检,win7 64位旗舰版跳过开机自检功能直接进入系统的方法
  18. java encode_java的web开发中URLEncoder.encode方法
  19. 西安恒智小寨java_长安反编译工具 java
  20. [javascript] 实现展开全文和收起全文效果

热门文章

  1. 图书管理系统 (单链表实现,C++及文件操作,超详细)
  2. ps将图片加入背景【实测成功】
  3. 整个canvas玩一玩,做一个简单的水印相机小程序
  4. [软件工程] 面向对象设计
  5. CAD中如何把一个DWG文件里的块插入到另一个DWG中
  6. python selenium 不打开浏览器_selenium+python自动化测试--解决无法启动IE浏览器及报错问题...
  7. 【毕业设计】基于单片机的自动浇花灌溉系统设计 -嵌入式 物联网 stm32 c51
  8. 蒙泰RIP快捷键大全
  9. My favorite player-Davor Suker
  10. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day15-阶段项目(拼图小游戏)(上篇)