python数据分析基础006 -利用pandas带你玩转excel表格(上篇)

简介: python数据分析基础006 -利用pandas带你玩转excel表格(上篇)

文章要点

🍺前言image.png🍁(一)创建文件image.png运行时报错:No module named ‘openpyxl’

这是我们在使用openpyxl包时没有安装该模块!因此我们需要在控制台输入指令:image.png此时问题就解决啦!!

import pandas as pd
df = pd.DataFrame()
df.to_excel('D:/Temp01/test.xlsx')
print('创建成功!!')

结果:

🍒1.在创建的表格内插入数据image.png

import pandas as pd
numb_list = {
    'ID':[1,2,3,4],
    'name':['苏凉','jake','佚名','Tom'],
    'age':[22,18,25,16],
    'QQ_num':[787991021,2544722208,12545654,58456]
}
df = pd.DataFrame(numb_list)
df.to_excel('D:/Temp01/test.xlsx')
print('创建成功!!')

运行结果:

🍒2.修改索引image.png

df = df.set_index('ID')

结果:

🍁(二)读取文件

🍒1.导入excel表格

people = pd.read_excel('./People.xlsx') #导入excel表格

🍒2.查看表格形状

print(people.shape) #查看有多少行多少列

🍒3.查看列名

x = people.columns
for i in x:
    print(i)

结果:

✨3.1 当第一行为空或有其他数据

image.png

import pandas as pd
people = pd.read_excel('./People.xlsx',header = 1)
print(people.columns)

✨3.2 自定义列名

当打开的文件没有列名时,我们需要设置列名。

import pandas as pd
people = pd.read_excel('./People.xlsx',header=None)
# 自定义列名
people.columns=['ID','Type','Title','FirstName','MiddleName','LastName']
people.set_index('ID',inplace=True)
print(people.columns)
# 保存
people.to_excel('./test.xlsx')
print('save success')

结果:

✨3.3 指定索引

在上面我们创建了一个test文件。当我们再次打开时,pandas会给我们重新创建一个索引,如下图:

这时我们需要指定索引

import pandas as pd
people = pd.read_excel('./test.xlsx',index_col="ID")
people.to_excel('./test1.xlsx')
print('save success')

结果:

🍒4.用Series创建行,列,单元格

import pandas as pd
d1 = pd.Series([10,20,30],index=[1,2,3],name='a')
d2 = pd.Series([40,50,60],index=[1,2,3],name='b')
d3 = pd.Series([100,200,300],index=[2,3,4],name='c')
df = pd.DataFrame({d1.name:d1,d2.name:d2,d3.name:d3})
df2 = pd.DataFrame([d1,d2,d3])
print(df)
print('*'*100)
print(df2)

结果:

image.png

🍒5.利用pandas实现excel自动填充

✨5.1 填充普通序列

实例:填充ID,InStore,Date

import pandas as pd
books = pd.read_excel('./Books.xlsx',skiprows=3,usecols='C:F',dtype={'ID':str})
df = pd.DataFrame(books)
for i in books.index:
    # 对id自动填充
    books['ID'].at[i] = i+1
    # 对Instore自动填充
    books['InStore'].at[i] = 'no' if i%2==0 else 'yes'
print(books)

结果:

✨5.2 填充日期序列image.png

from datetime import date,timedelta

image.png

 start_time = date(2019,1,25)

🎐5.2.1 填充日

books['Date'].at[i] = start_time + timedelta(days=i)

结果:

注:timedelda最多只能加到日期,无法加年以及月!!

🎐5.2.2 填充年

 books['Date'].at[i] = date(start_time.year+i,start_time.month,start_time.day)

结果:

🎐5.2.3 填充月(难点!!!)

# d -日期 ,md—月的该变量
def add_month(d,md):
    # 得到含有多少年
    yd = md//12
    # 获取月份
    m = d.month +md%12
#     判断是否满足条件
    if m != 12:
        yd += m//12
        m = m%12
    return date(d.year +yd ,m ,d.day)

image.png

    books['Date'].at[i] = add_month(start_time ,i)

结果:

✨5.3 源码及保存

import pandas as pd
from datetime import date,timedelta
# d -日期 ,md—月的该变量
def add_month(d,md):
    # 得到含有多少年
    yd = md//12
    # 获取月份
    m = d.month +md%12
#     判断是否满足条件
    if m != 12:
        yd += m//12
        m = m%12
    return date(d.year +yd ,m ,d.day)
books = pd.read_excel('./Books.xlsx',skiprows=3,usecols='C:F',dtype={'ID':str})
df = pd.DataFrame(books)
start_time = date(2019,1,25)
for i in books.index:
    # 对id自动填充
    books['ID'].at[i] = i+1
    # 对Instore自动填充
    books['InStore'].at[i] = 'no' if i%2==0 else 'yes'
    # 对日自动填充
    # books['Date'].at[i] = start_time
#     对年自动填充
    books['Date'].at[i] = date(start_time.year+i,start_time.month,start_time.day)
#       对月份自动填充
    books['Date'].at[i] = add_month(start_time ,i)
books.set_index('ID',inplace=True)
books.to_excel('./book1.xlsx')
print('save success')

结果:

 

🍻结语

image.png


相关文章
|
5月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
310 3
|
7月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
913 0
|
4月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
5月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
6月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
6月前
|
移动开发 JavaScript
(H5查看CAD)网页CAD提取图纸表格到excel
本文介绍如何通过自定义MxCAD插件,在Web端智能识别CAD图纸中的表格,实现自动合并与高效导出至Excel,提升数据提取效率与准确性。内容涵盖区域选择、图形识别、表格结构重建、单元格合并及内容导出等关键技术,适用于工程图纸数据自动化处理场景。
|
9月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
391 2
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
952 4
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
304 2
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
430 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析

热门文章

最新文章

推荐镜像

更多