网站首页 > 博客文章 正文
第1期发布之后,反响特别好,很快通过审核,不到2小时推荐量2600多,还是挺高的,说明大家对此版块内容还是感兴趣的,激发了我创作的动力。谢谢大家,今天加班再更新一期。
一、如何创建数据的‘’粮仓‘’(如何使用pandas向Excel里面写入数据)
1.将字典数据通过pandas写入Excel中
import pandas as pd
#定义一个字典
dic={
'id':[1,2,3],
'name':['liming','zhangsan','wangwu']
}
#将字典格式化为DataFrame数据
data = pd.DataFrame(dic)
#将数据写入Excel中
data.to_excel('test.xlsx')
print(data)
*********************************
id name
0 1 liming
1 2 zhangsan
2 3 wangwu
*******************************
#Excel文件内容就不在此演示,该数据保存在工程当前目录下test.xlsx中
2.Pandas将数据写入多个sheet中
import pandas as pd
#定义2个字典
dic1={
'id':[1,2,3],
'name':['liming','zhangsan','wangwu']
}
dic2={
'id':['001','002','003'],
'name':['liu ying','zhang hao','hua tuo']
}
#将字典数据格式化为DataFrame数据
df1 = pd.DataFrame(dic1)
df2 = pd.DataFrame(dic2)
#将数据写入Excel中
write = pd.ExcelWriter('test.xlsx')
df1.to_excel(write,sheet_name='df1',index=False)
df2.to_excel(write,sheet_name='df2',index=False)
write.save()
write.close()
划重点:这里重点介绍下ExcelWriter()
使用ExcelWriter()可以向同一个excel的不同sheet中写入对应的表格数据,首先需要创建一个writer对象,传入的主要参数为已存在容器表格的路径及文件名称:
writer = pd.ExcelWriter(r'D:\demo.xlsx')
基于已创建的writer对象,可以利用to_excel()方法将不同的数据框及其对应的sheet名称写入该writer对象中,并在全部表格写入完成之后,使用save()方法来执行writer中内容向对应实体excel文件写入数据的过程.
'''创建数据框1'''
df1 = pd.DataFrame({'V1':np.random.rand(100),
'V2 ':np.random.rand(100),
'V3':np.random.rand(100)})
df1.to_excel(writer,sheet_name='sheet1',index=False)
'''创建数据框2'''
df2 = pd.DataFrame({'V1':np.random.rand(100),
'V2 ':np.random.rand(100),
'V3':np.random.rand(100)})
df2.to_excel(writer,sheet_name='sheet2',index=False)
'''数据写出到excel文件中'''
writer.save()
write.close()
这时之前指定的外部excel文件中便成功存入相应的内容:
二、做一个可以拼颜值的图(分组柱图深度优化)
import pandas as pd
import matplotlib.pyplot as plt
#读取数据
data = pd.read_excel('book2.xlsx')
#对数据进行排序
data.sort_values(by=2018,inplace=True,ascending=False)
#生成两组柱状图(多组类似)
data.plot.bar(x='product',y=[2018,2019],color=['orange','red'])
#设置标题
plt.title('Product annual sales comparison chart',fontsize=13,fontweight='bold')
#设置x轴
plt.xlabel('Product',fontweight='bold')
#设置y轴
plt.ylabel('Sales Volume',fontweight='bold')
#设置x轴标题斜45度
ax=plt.gca()
ax.set_xticklabels(data['product'],rotation=45,ha='right')
#自动调整子图参数,使之填充整个图像区域
plt.tight_layout()
#显示
plt.show()
这个效果是不是看起来很高大上,大家可以进一步修改参数进行优化。因为里面基本都是设置类的函数,使用起来比较简单,就不依依介绍了。
三、制作叠加柱状图
import pandas as pd
import matplotlib.pyplot as plt
data=pd.read_excel('book3.xlsx'
data.plot.bar(x='username',y=['Oct','Nov','dec'],stacked=True)
# #自动调整子图参数,使之填充整个图像区域
plt.tight_layout()
# # # #显示
plt.show()
如果想得到横向的只需改写一句代码
data.plot.barh(x='username',y=['Oct','Nov','dec'],stacked=True)
今天的内容就分享到这里,Python语言使用起来确实很简单,很容易上手,但也容易忘,多练、多记才能更好理解和掌握。
人生苦短,我用python。下期见
猜你喜欢
- 2024-09-29 一日一技:使用XlsxWriter模块在Excel工作表中绘制组合图表
- 2024-09-29 Hutool Java工具类库导出Excel,超级简单
- 2024-09-29 有了这个开源工具后,我五点就下班了
- 2024-09-29 pandas写excel报错IllegalCharacterError解决方案
- 2024-09-29 python从入门到实践,文件读写与Excel操作
- 2024-09-29 Python读写EXCEL文件常用方法大全
- 2024-09-29 太棒了!Python和Excel过了这么久终于可以互通了
- 2024-09-29 EasyExcel实现Excel验证标红备注下载
- 2024-09-29 Python 操作 Excel 表格从简单到高级用法
- 2024-09-29 Excel和Python终于可以互通了(python怎么与excel衔接)
你 发表评论:
欢迎- 07-07Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- 07-07Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- 07-07Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- 07-07Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- 07-07IT运维必会的30个工具(it运维工具软件)
- 07-07开源项目有你需要的吗?(开源项目什么意思)
- 07-07自动化测试早就跑起来了,为什么测试管理还像在走路?
- 07-07Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- 最近发表
-
- Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- IT运维必会的30个工具(it运维工具软件)
- 开源项目有你需要的吗?(开源项目什么意思)
- 自动化测试早就跑起来了,为什么测试管理还像在走路?
- Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- Cursor 太贵?这套「Cline+OpenRouter+Deepseek+Trae」组合拳更香
- 为什么没人真的用好RAG,坑都在哪里? 谈谈RAG技术架构的演进方向
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)