文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python笔记:用Python实现Excel中的部分操作

2021-05-15 20:34

关注

Python笔记:用Python实现Excel中的部分操作

        很多人都知道,Excel做数据处理和分析特别方面、好用。但是我想说,用Python来处理、分析数据会更加好用,如果你会写Python脚本的话。其实,Excel中的很多操作,在Python中也是可以实现的。毕竟工具只是个工具,但是底层实现的原理是异曲同工的。比如:

       

1. Excel是直接双击打开工作簿,或者从各种系统把数据导出保存到Excel。用Python获取Excel的内容,只需3行脚本:


# 导入pandas库
import pandas as pd

# 让每一行的数据都展示出来
pd.options.display.max_rows = 9999

# 让每一列的数据都展示出来
pd.options.display.max_columns = 9999

# 加载数据
df = pd.read_excel(r"C:UsersQDMDesktop500.xlsx")

# 打印输出
df

运行结果:

 

2. Excel中用rand等函数来构造随机矩阵,Python中用numpy工具包:


import numpy as np
# 构造有个5行3列的随机矩阵
data = pd.DataFrame(np.random.rand(5,3))

# 给构建的 DataFrame 定义各个字段的名称
data = pd.DataFrame(np.random.rand(5,3),columns = ["昨天","今天","明天"])

data

运行结果:

 

3. 保存输出结果到Excel中:

PS:Excel中是按 Ctrl+S(保存)或 F12 (另存为)


# 把数据输出保存到Excel中
data.to_excel(r"C:UsersQDMDesktop随机.xlsx")

#  sheet_name 自定义所输出的工作表名称
data.to_excel(r"C:UsersQDMDesktop随机.xlsx",sheet_name = "随机矩阵")

# index = False 去掉Python中自然生成的索引
data.to_excel(r"C:UsersQDMDesktop随机.xlsx",sheet_name = "随机矩阵",index = False)

运行结果:

 

4. 筛选:

① 筛选出排名前10的记录


# 筛选出排名前10的记录
df[df["排名"] < 11]

运行结果:

 

② 筛选出属于中国的企业


# 筛选出属于中国的企业
df[df["国家"] == "中国"]

运行结果:

 

③ 筛选出排名分别是第2和第6的企业


# 筛选出排名分别是第2和第6的企业,注意要有小括号
df[(df["排名"] == 2) | (df["排名"] == 6)]

运行结果:

 

5. 插入一列新列,并判断是否已经完成销售任务:

另外加载一份数据:


# 加载数据
import pandas as pd
df1 = pd.read_excel(r"C:UsersQDMDesktopcar.xlsx")
df1

运行结果:

进行插入操作:


# 设定区间段
bins = [0, 299, 599, max(df1["销量"])]

# 给不同区间段添加一个映射
group_names = ["不达标", "达标", "优秀"]

# 在后面新增一个辅助列判断销量是否已经完成任务
df1["是否达标"] = pd.cut(df1["销量"], bins, labels = group_names)

# 预览结果
df1

运行结果:

 

6.  del df["列名"]  删除列

数据源 df2


# 加载数据
import pandas as pd
df2 = pd.read_excel(r"C:UsersQDMDesktopcar.xlsx")
df2

删除操作


# 删除列
del df2["销量"]
df2

 

7. .sort_values() 进行数值排序


# 要排序前的数据源
import pandas as pd
df3 = pd.read_excel(r"C:UsersQDMDesktopcar.xlsx")
df3

排序操作:


# 用 .sort_values() 排序,ascending = True 表升序,ascending=False 排降序
df3.sort_values(by = "销量", ascending = True)

# inplace=True 表示改动并替换原数据表
df3.sort_values(by = "销量", ascending = True, inplace=True)

运行结果:

 

8. 处理缺失值

数据源:


# 要排序前的数据源
import pandas as pd
df4 = pd.read_excel(r"C:UsersQDMDesktopcar.xlsx",sheet_name = "car")
df4

① 全局概览是否存在缺失值


# 全局概览是否存在缺失值
df4.info()

② 查看缺失值具体在什么位置


# 查看缺失值具体在什么位置
df4.isnull()

③ 计算每列中缺失值的个数


# 计算每列中缺失值的个数
df4.isnull().sum()

④ 用临近的值来填充缺失值


# 用 .fillna(axis = 0, method = "ffill") 来横向/纵向用缺失值前面的值替换缺失值
# method 的参数有 ffill 和 bfill 等
df4 = df4.fillna(axis = 0, method = "ffill")
df4

⑤ 用空值来填充缺失值


# 用空值来替换
df4.fillna("")

⑥ 用 0 来填充


# 用 0 来填充
df4.fillna(0)

⑦ 用 均值 来填充


# 用均值来填充
df4.fillna(df4.mean())

⑧ 删除缺失值


# 删除缺失值
df4.dropna()

 

 

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯