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

database

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

       

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

python"># 导入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()

 

 

 

 

以上是 Python笔记:用Python实现Excel中的部分操作 的全部内容, 来源链接: utcz.com/z/534346.html

回到顶部