Pandas 如何输出百分号形式的数字,输出的excel表格是数字类型,并且百分号展示,比如0.25输出是25%,它不是字符串,而且数字类型
25条回答 默认 最新
关注 🕗晚上好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:天涯地角有穷时,只有相思无尽处。在使用Pandas处理数据并导出为Excel时,如果你想让数值以百分比的形式显示(例如0.25显示为25%),同时保持单元格的数据类型为数值而不是文本,你需要进行一些特殊处理。因为默认情况下,Excel中的百分比格式会被Excel解释为文本或数值,但不会自动转换为百分比格式,除非你手动设置单元格的格式。
下面是一个完整的示例,展示了如何创建一个包含百分比值的DataFrame,并将其保存到Excel文件中,同时确保这些百分比值在Excel中显示为百分比格式。
import pandas as pd # 创建一个包含百分比值的DataFrame data = { 'Percentage': [0.25, 0.5, 0.75] } df = pd.DataFrame(data) # 将DataFrame中的数值转换为百分比格式,但保持数据类型为float df['Percentage'] = df['Percentage'].apply(lambda x: "{:.0%}".format(x)) # 这里我们暂时将百分比字符串转换回数值,但这只是用于保存Excel时的临时步骤 # 因为直接保存百分比字符串到Excel不会按照百分比格式显示 df['Percentage'] = df['Percentage'].str.rstrip('%').astype(float) / 100 # 将DataFrame保存到Excel文件中 # 使用openpyxl引擎来操作Excel文件,特别是设置单元格格式 writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') df.to_excel(writer, sheet_name='Sheet1', index=False) # 获取当前工作表 workbook = writer.book worksheet = writer.sheets['Sheet1'] # 设置A列(我们的百分比列)的格式为百分比 percentage_format = workbook.add_format({'num_format': '0%'}) worksheet.set_column('A:A', None, percentage_format) # 保存并关闭Excel写入器 writer._save()
在这个例子中,我们首先创建了一个包含百分比值的DataFrame。然后,我们将百分比值格式化为字符串(例如"25%"),但是为了能够正确地保存到Excel并且Excel能识别为数值,我们又将这些字符串转换回了数值(但保留了原始百分比的含义)。最后,我们使用
openpyxl
引擎来设置Excel文件中单元格的格式,使得百分比数值以正确的百分比格式显示。注意:在Excel中查看时,这些单元格会显示为百分比格式(例如25%),但实际上它们仍然是数值类型。如果你需要在Pandas中继续操作这些数据,它们仍然是数值类型的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
- ¥15 机器人轨迹规划相关问题
- ¥15 word样式右侧翻页键消失