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


相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
112 10
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
3天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
1月前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
41 0
|
2月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
86 0
|
4月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
117 0
|
2月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
58 2
|
3月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
102 3
|
3月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
52 1