自动化办公Panda的使用

panda 专业来说是,基于Numpy的一个强大的分析结构化数据的工具集,可以快速实现数据清洗功能。而对我来说,panda同时也是一个强大的,自动化办公工具集,同时支持cvs、xlsx等多种格式文件的信息处理。用它处理表格数据是非常高效的!

提示:本文主要表述的是Python的Panda文档处理方法和使用技巧


一、安装与环境

  1. 通过cmd命令行的方式进行安装
pip install Pandas
  1. 安装读取xlsx文件的依赖库
pip install xlrd==1.2.0

如果报这个错误就是就是没有这个依赖库,且值得注意的是,要指定版本,不然最新版本,不支持xlsx文件

ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
  1. 测试一下代码,没报错就算成功安装了
import pandas as pd
pd.read_excel("你本地的xlsx文件路径")

二、读取和展示数据

导入panda库,导入成功后,就可以通过简化后的pd名称调用,panda库的各种方法了

import pandas as pd

1. 读取不同格式的数据

  • 读取csv文件
import pandas as pd
pd.read_csv("file.csv")
  • 读取xlsx文件和xls文件
import pandas as pd
pd.read_excel("file.xlsx")

从这两个例子中可以看出,读取支持格式的文件,方法都会以read_.* 开头,所有想读取文件可以先输入read_ 查看提示选项。

2. 只将部分内容载入内存

  • 有时候会遇到一种情况,数据文件太大,一次性加载入内存,需要好久,不利我们开发观察,这时我们只想读取文件的前10行,后边数据不载入内存了
pd.read_csv("file.csv", nrows=10) # 只将文件前10行加载入内存

三、Panda内容展示

这里主要介绍的,将内容展示到控制台,以及做一些处理,去除表格内容干扰!

1. 控制台内容展示

  • 查看全部数据
import pandas as pd
data=pd.read_csv("file.csv")
print(data)
  • 查看前10行数据(这里和上方说的不一样,这里是将文件数据全部载入内容处理后,在读取前10行)
import pandas as pd
data=pd.read_csv("file.csv")
print(data.head(10))
  • 查看后10行
print(data.tail(10))
  • 只查看某列或者某两列
print(data["列名1"]) #查看列名1所有数据
print(data["列名1","列名2"]) #查看列名1和列名2所有数据,以此类推可以展示更多

2. 去除干扰的数据

有时候读取表格的时候,第一行,写的是一个大标题;而第二行才是,才是全篇表格的标题,这时,我们可以修改默认标题行

  • 指定某一行为表格标题
import pandas as pd
data = pd.read_csv("file.csv", header=1) #指定第一行为标题,索引从0开始
  • 删除后边几行
data.drop(data.tail(10).index, inplace=True)  # 去掉后边10行,inplace在原理基础上
  • 删除某一列
del data["列名"]

四、 数据分析

这一节将介绍数据分析,如数据对比判断,数据筛选,排序,统计等!

1. 数据排序

  • 对某一列数据进行升序排序
 data= data.sort_values(by='列名')
  • 对某列数据进行降序排序
data=data.sort_values(by='列名',ascending=False)
  • 对行的数据进行排序
sort = data.iloc[i][4:].sort_values() #正序
sort = data.iloc[i][4:].sort_values(ascending=False) #逆序

2. 筛选数据

  • 筛选比1大的数据
data=data[data["列名"]> 1]
  • 筛选等于1的数据
data=data[data["列名"]== 1]
  • 筛选等于,1,2,3,4,5,6数据的行
list_data=[1,2,3,4,6]
data[data["列名"].isin(list_data)]

3. 列类型转换以及字符串拼接

  • 将某一列类型转换成为字符串类型
data["列名"].astype(str)
  • 给某列添加字符串前缀
data["列名"]="前缀"+data["列名"].astype(str)
  • 将某列转为整形
data["列名"]=row["列名"].astype("Int64")
  • 转为浮点型
data["列名"]=row["列名"].astype("float64")

4. 数据修改

  • 修改标题名称
data.rename(columns={'旧列名':'新列名'}, inplace=True)
  • 定位具体数字值
data["列名"]["行名"].values
# 返回的是一个列表
  • 创建新列
data["新列名"]=[...]# 列表里边的数据长度一定要和其他列一样长

5. 保存数据

  • 保存 CSV数据
data.to_csv("new_file.csv",index=False)
  • 保存xlsx数据
new_data.to_excel("new_file.xlsx",index=False)

提示: 如果不加 index=False 的话会默认对出一行索引行

6. 计算

  • 两列数据相除,得到新的一列
data['新的一列'] =firearms.apply(lambda x: x['列名1'] / x['列名2'], axis=1) #如果加的话换掉/ 号即可
  • 计算平均值
data["列名"].mean()
  • 计算某列的和
data["列名"].sum()
  • 对数据进行分组,数据一样的为一组
group_data=data.groupby("列名") 
# 对分组里边的数据进行排序
group_data.apply(lambda x: x.sort_values('排序列名')) 
  • 取出每个分组的第一行
newData = group_data.head(1) # 有10组,就会返回10行数据

7. 其他

  • 我在这里描述的只有 Panda的一些基础功能,还有很多功能待完善,希望能得到大家的支持!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StarLightLu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值