python中的存储文件:excel+fig

1. to_excel

在pandas中我们通常使用to_excel()方法将dataframe导出至Excel文件上,路径为必填参数,sheet_name为可选参数,当多个内容写到一张表中时,可以设置开始的行数startrow=13

需要注意的是startrow是从0开始的

data.to_excel('路径',sheet_name='')

2. pd.ExcelWriter

如果需要将多个不同的dataframe导出到同一个Excel文件的不同Sheet页,可以使用pandas.ExcelWriter()类来实现。

writer=pd.ExcelWriter('Logistic Performance Table{}.xlsx'.format(
time.ctime()).replace(':','-'))

1.将输出的数据导入到excel的sheet名为Model Summary的表中
model_summary().to_excel(writer,'Models Smmary') 

2. 将data存到第二张表test中
data.to_excel(writer,'test')

或者是

df1 = pd.DataFrame([["AAA", "BBB"]], columns=["Spam", "Egg"])  
df2 = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])  
with pd.ExcelWriter("path_to_file.xlsx") as writer:
    df1.to_excel(writer, sheet_name="Sheet1")  
    df2.to_excel(writer, sheet_name="Sheet2") 
  • 写入现有文件
    其中mode变成a,默认为w,a表示add即追加,engine表示为openpyxl
with pd.ExcelWriter("path_to_file.xlsx", mode="a", engine="openpyxl") as writer:
    df.to_excel(writer, sheet_name="Sheet3")  

3. 定制化输出Excel格式

参考m0_38011792

  • workbook=writer.book 创建工作簿
  • sheet=writer.sheets 创建工作表
    有了工作簿和表之后就可以对工作簿的格式进行设计,workbook的方法包括add_format()即增加样式,用字典的格式写入。主要包括
    • bg_color 背景颜色
    • font_color 字体颜色
    • align 水平对齐方式
    • bold(bool) 是否加粗
    • text_wrap 是否自动换行
    • fg_color 单元格背景颜色
    • border:number 单元格边框宽度
  • 修改格式
    • worksheet.set_columns(第几列,cell_format=列单元格格式)
    • worksheet.set_rows(第几行(0行即表头),cell_format=行单元格式)
workbook1 = writer.book
worksheets = writer.sheets
worksheet1 = worksheets['Sheet1']
format1 = workbook1.add_format({'bg_color': '#FFC7CE', 'font_color': '#9C0006'})
format2 = workbook1.add_format({'bold':  True, 'align': 'left', 'valign': 'top', 'text_wrap': True})

4. 向表中写入数据

  • sheet.write(row,col,data,[format])

    其实startrow可以直接设为1,因为它是从0开始的,因此我在第一行添加字符并不会受startrow=1的影响

writer=pd.ExcelWriter('pt_test-{}.xlsx'.format(time.ctime()).replace(':','-'))
pt.to_excel(writer,sheet_name='model_pt',startrow=2)
workbook=writer.book
sheet=writer.sheets['model_pt']
sheet.write('A1','Train_data:')
sheet.write('A12','Test_data:')
writer.close()

结果表示如下:注意添加的字符以及sheet的名称
在这里插入图片描述

5. 插入图片

对sheet进行图片的插入,方法为insert_image,参数包括
- row(int) 单元格所在的行,索引从0开始
- col 单元格所在列
- image 图片的路径、文件名
- options(dict) 图片的位置,缩放(x_scale y_scale),url参数,注意这里是以字典的形式写入的

sheet.insert_image(1,18,'.roc_train.png',{'x_scale':0.9,'y_scale':1})

其中后面的可选参数的参数为一下选项:
{
	'x_offset':0,'y_offset':0,
	'x_scale':1,'y_scale':1,
	'url':none
}

6. 存储图片

  • 图片.savefig(路径)
plot_roc(train,y_col).savefig('.roc_train.png')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Python程序,可以在Excel文件绘制雷达图并保存: 首先,我们需要安装pandas和matplotlib库: ```python pip install pandas matplotlib ``` 然后,我们可以使用以下代码在Excel文件创建一个雷达图: ```python import pandas as pd import matplotlib.pyplot as plt # 读取Excel文件 df = pd.read_excel('data.xlsx') # 创建一个雷达图 fig = plt.figure(figsize=(6, 6)) ax = fig.add_subplot(111, polar=True) # 设置雷达图的标签和范围 categories = list(df.columns)[1:] N = len(categories) angles = [n / float(N) * 2 * 3.141592653589793 for n in range(N)] angles += angles[:1] ax.set_thetagrids([a * 180 / 3.141592653589793 for a in angles], categories, fontsize=10) ax.set_theta_offset(3.141592653589793 / 2) ax.set_theta_direction(-1) ax.set_rlabel_position(0) # 绘制雷达图 for i in range(len(df)): values = df.iloc[i, 1:].values.flatten().tolist() values += values[:1] ax.plot(angles, values, linewidth=1.5, linestyle='solid', label=df.iloc[i, 0]) ax.fill(angles, values, alpha=0.25) # 添加图例和标题 plt.legend(loc='upper right', bbox_to_anchor=(0.1, 0.1)) plt.title('Radar Chart') # 保存图片 plt.savefig('radar_chart.png', dpi=300, bbox_inches='tight') ``` 在这个例子,我们假设数据存储在名为"data.xlsx"的Excel文件。我们使用pandas库读取Excel文件并将其存储在DataFrame对象"df"。然后,我们使用matplotlib库创建一个雷达图,并将数据添加到图。最后,我们添加一个图例和标题,并将图保存为"radar_chart.png"文件。 请注意,这个例子使用的是Python的默认matplotlib样式。如果需要更改样式,请参考matplotlib文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值