用python玩转办公软件(pandas数据分析)入门

文章目录

  • 用python玩转办公软件(pandas数据分析)入门
    • 1、pandas介绍
    • 2、csv文件介绍
    • 3、pandas常用操作csv
      • (1)pandas读入csv操作
      • (2)常用参数解释:read_csv与read_table常用的参数(更多参数查看官方手册)
      • (3)csv处理操作
        • 常用的操作:
        • 常用查看打印:
        • 常用数据统计:
    • 4、搜指令网站

1、pandas介绍

Pandas 是python的一个数据分析包

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。

Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

pandas可以读取/写入txt、dox、excal、csv等文件,原理都一样,深度学习通常使用csv文件。

2、csv文件介绍

其文件以纯文本形式存储表格数据(数字和文本)。

纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

即csv可以用txt编写,在txt中每一行输入若干数据,每个数据用逗号隔开,一行数据结束后换行写下一行,转成csv文件后打开后风格和excal一样。

效果如图:

txt文件数据:

csv文件数据:

3、pandas常用操作csv

(1)pandas读入csv操作

就一个函数:pandas.read_csv(…)

将 CSV 文件读入 pandas DataFrame

import pandas
df = pandas.read_csv(r'C:\Users\zhaohaobing\Desktop\pythond的pandas数据分析\111.csv', #文件路径index_col='Employee', #将Employee列为索引parse_dates=['Hired'], #将Hired列存储为日期格式(2014-03-15,不加这行的话是2003/15/14)sep = ',',  #表明文件txt格式中数据分隔符是用','来表示的header=0, #将首行设为列名encoding="utf-8", #可以读取中文names=['Employee', 'Hired','Salary', 'Sick Days']) #修改第一行列名
df.to_csv('hrdata_modified.csv')  #另存为hrdata_modified.csv文件
print(df)

重要:

​ 1)header第一行的设置:

​ header=0(将首行设为列名);header=None,则首行最为数据,那么names第一行标题必须制定!

​ 2)列名的设置:

​ names=[‘Employee’, ‘Hired’,‘Salary’, ‘Sick Days’] #修改第一行列名

​ 3)索引列的设置:

​ 若不设置,默认最前一列加上0,1,2,3…;index_col=‘Employee’ #将Employee列为索引

效果:

(2)常用参数解释:read_csv与read_table常用的参数(更多参数查看官方手册)

pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)filepath_or_buffer #需要读取的文件及路径
sep / delimiter 列分隔符,普通文本文件,应该都是使用结构化的方式来组织,才能使用dataframe
header header=0(将首行设为列名);header=None,则首行最为数据,那么names第一行标题必须制定!
shkiprows= 10 # 跳过前十行
nrows = 10 # 只取前10行
usecols=[0,1,2,...] #需要读取的列,可以是列的位置编号,也可以是列的名称
parse_dates = ['col_name'] # 指定某行读取为日期格式
index_col = None /False /0,重新生成一列成为index值,0表示第一列,用作行索引的列编号或列名。可以是单个名称/数字或由多个名称/数宇组成的列表(层次化索引)
error_bad_lines = False # 当某行数据有问题时,不报错,直接跳过,处理脏数据时使用
na_values = 'NULL' # 将NULL识别为空值
encoding='utf-8' #指明读取文件的编码,默认utf-8

(3)csv处理操作

列举几个常用的,保证能入门

常用的操作:

df['新一列']='new' #在后面新加一列,数据全是new
df.fillna(value=0,inplace=True) #表中所有的空值用0填充
df['0']=df['0'].map(str.strip) #第一列,清除city字段的字符空格,字符串(str)的头和尾的空格,以及位于头尾的\n \t之类给删掉
df['0']=df['0'].str.lower() #第一列,大小写转换
df.drop_duplicates(['0'],inplace=True) #第一列,删除重复出现的值
df['0'].replace('111','222',inplace=True) #第一列,将111替换成222#数据输出:
df_inner.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
df_inner.to_csv('excel_to_python.csv')
df.to_sql(table_name, connection_object)# 导出数据到SQL表
df.to_json("filename")# 以Json格式导出数据到文本文件

常用查看打印:

print(df.head(3)) #读取前3行
print(df.tail(3)) #读取后3行
print(df.shape) #查看为几行几列
print(df.info()) #数据表基本信息(维度、列名称、数据格式、所占空间等)
print(df.dtypes) #每一列数据的格式# 主要函数是groupby和pivote_table
print(df_inner.groupby('city').count())# 对所有的列进行计数汇总
print(df_inner.groupby('city')['id'].count())# 按city对id字段进行计数
print(df_inner.groupby(['city','price'])['id'].count())# 对两个字段进行汇总计数
print(df_inner.groupby('city')['price'].agg([len,np.sum, np.mean]) )# 对city字段进行汇总,并分别计算prince的合计和均值# 使用与、或、非三个条件配合大于、小于、等于对数据进行筛选,并进行计数和求和。
print(df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'shanghai'), ['id','city','age','category','gender']])
print(df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'shanghai'), ['id','city','age','category','gender']] )
print(df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']])# 对筛选后的数据按city列进行计数
print(df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].city.count())# 使用query函数进行筛选
print(df_inner.query('city == ["beijing", "shanghai"]'))# 对筛选后的结果按price进行求和
print(df_inner.query('city == ["Shenzhen", "shanghai"]').price.sum())

常用数据统计:

# 数据采样,计算标准差,协方差和相关系数
print(df_inner.sample(n=3))# 简单的数据采样(随机取3行数据)# 手动设置采样权重,这里指3/4/5的权重比较高,随机取时概率较大
weights = [0, 0, 0, 0.5, 0.5, 0.5]
print(df_inner.sample(n=2, weights=weights))print(df_inner.sample(n=6, replace=False))# 采样后不放回
print(df_inner.sample(n=6, replace=True))# 采样后放回# 数据表描述性统计
print(df_inner.describe().round(2).T) #round函数设置显示小数位,T表示转置# 标准差和协方差
print(df_inner['price'].std())# 计算列的标准差
print(df_inner['price'].cov(df_inner['m-point']))# 计算两个字段间的协方差
print(df_inner.cov())# 计算数据表中所有字段间的协方差# 计算两个字段的相关性分析,相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关
print(df_inner['price'].corr(df_inner['m-point']))print(df.describe())# 查看数据值列的汇总统计
print(df.mean())# 返回所有列的均值
print(df.corr())# 返回列与列之间的相关系数
print(df.count())# 返回每一列中的非空值的个数
print(df.max())# 返回每一列的最大值
print(df.min())# 返回每一列的最小值
print(df.median())# 返回每一列的中位数
print(df.median())# 返回每一列的标准差

4、搜指令网站

pandas了解后,就跟数据库一样,需要什么操作直接网上搜指令就行了OVER
你学会了吗?

常用指令网站:
https://www.cnblogs.com/zhuminghui/p/9401489.html

用python玩转办公软件(pandas数据分析)入门相关推荐

  1. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  2. python做电脑软件-程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  3. python入门教程软件-程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

  4. python应用系列教程——python操作office办公软件word

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作office办公软件(doc). 前提条件是电脑已经安装了office办公软件,并且下载安装了pywin32-217.win3 ...

  5. python应用系列教程——python操作office办公软件(excel)

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作office办公软件(excel).本文对涉及xls文件读写上不方便.如果你需要通过python读写xls文件,可以参考htt ...

  6. Python 与 Office 办公软件专栏目录:14 篇博客从基础到实例,助力你的自动化办公梦

    Python 与 Office 办公软件专栏目录 前言: Python 与 Excel 文章一:用 xlwt 将数据写入Excel文件简介 文章二:xlwt 工作表对象常用设置 文章三:xlwt 设置 ...

  7. 视频教程-高效办公软件之word2010入门到精通全套视频-Office/WPS

    高效办公软件之word2010入门到精通全套视频 杨老师课堂由杨亦涛主讲,他是网站工程师和UI设计讲师,10年网站开发与教学经验,上百个网站项目成功案例.精通php.JavaScript.CSS3.0 ...

  8. python数据处理用什么软件_数据分析都会用到哪些工具?

    今天来聊聊数据分析都会用到的工具,你都在用什么呢? 数据分析的工具有很多,从数据分析岗位的描述里其实就能发现企业都需要会哪些工具的人,这里我分成了4类来聊聊.分别是基础.可视化.专业的统计分析以及编程 ...

  9. CC00038.python——|HadoopPython.v02|——|Arithmetic.v02|Pandas数据分析库:Pandas数据结构|

    一.pandas数据分析库 ### --- pandas数据分析库~~~ Python在数据处理和准备⽅⾯⼀直做得很好,但在数据分析和建模⽅⾯就差⼀些. ~~~ pandas帮助填补了这⼀空⽩,使您能 ...

最新文章

  1. win10电脑黑屏只有鼠标箭头_电脑开机进入系统后显示黑屏,只能看到一个鼠标指针,如何解决?...
  2. LVS(12)——sh
  3. oracle link binaries,Oracle环境中使用NFS的mount选项
  4. 用C语言编写猴子选大王程序(数据结构)
  5. mysql 返回自增id_mysql 返回自增id
  6. 设计模式之————依赖注入(Dependency Injection)与控制反转(Inversion of Controller)...
  7. 3D建模和处理软件以及相关的库(来自中科大老师)
  8. gmp php study,[技术干货] USP中文翻译连载 | 产品生命周期的包装密封性检查 (1、2之3)...
  9. JustTrustMe 原理分析
  10. unity上线流程_新的Unity商店上线了
  11. mysql 同比sql_mysql计算同比和环比的区别_【面试真题】Mysql实现计算同比、环比...
  12. Java验证辛钦大数定理
  13. Silverlight实用窍门系列:29.Silverlight碰撞测试、检测自定义控件碰撞,雷达扫描图之扫描雷达点状态【附带源码实例】...
  14. 将汉子转化为拼音的js插件
  15. OpenCV内存方式,将rgb数据压缩成jpg数据
  16. MATLAB中Simulink创建与运行
  17. Fatal error: Uncaught ArgumentCountError: Too few arguments to function 解决方法
  18. 干货!学霸用12个决策模型告诉你,如何判断你到底需不需要区块链!
  19. 《高质量C/C++编程指南》第1期
  20. 腾讯云·部署Eclipse Che(云原生IDE)(CSDN云通用)

热门文章

  1. 新浪微博批量加关注的方法
  2. 2019如何利用惠头条自媒体平台赚钱?
  3. <Dive into Python>大补贴
  4. Codeforces Global Round 2(CF1119)
  5. WAS 服务器负载测试软件使用说明
  6. seata的AT模式中,数据脏读的问题
  7. rac rman 备份和恢复 1
  8. canvas实战之酷炫背景动画(五)
  9. 以快制胜:跨境电商依靠三大支柱和边缘计算换挡进入跑车道(下篇)
  10. springboot+mybatis数据库中字段带下划线自动转换成实体