python - 以科学计数法保存并以不同的 sep 保存
问题描述
如何以科学格式保存 python 数据框。第二个问题是关于如何以适当的方式保存数据框。这是我的例子:
koefi 300Grad 500Grad 620Grad
0 nu 3.300000e-01 3.300000e-01 0.330000
1 bk 1.021627e+02 7.491372e+02 200.000000
2 alphaChi 1.000000e+00 1.000000e+00 1.000000
3 betaChi 2.500000e-01 2.500000e-01 0.250000
4 sn 1.535676e+00 5.246025e+00 3.500000
5 sk 2.070121e+02 1.000000e+02 116.152032
目前我只能保存它,sep = '\t'
但不能保存sep = '\s+'
或其他不同的东西。与到目前为止的科学格式一样,我只发现:float_format='%.6f
.
我当前的输出:
koefi 300Grad 500Grad 620Grad
0 nu 0.330000 0.330000 0.330000
1 bk 102.162699 749.137166 200.000000
2 alphaChi 1.000000 1.000000 1.000000
3 betaChi 0.250000 0.250000 0.250000
4 sn 1.535676 5.246025 3.500000
5 sk 207.012055 100.000000 116.15203
它看起来不是特别好,这里有人有任何想法以更好的方式保存它,所以它看起来更愉快。
list_final.to_csv(path_or_buf='Z:/simul/results/result.dat', index=True, sep='\s+', decimal='.',float_format='%.6f')
TypeError: "delimiter" 必须是 1 个字符的字符串
任何帮助是极大的赞赏。
编辑:我尝试使用 install -c synthicity prettytable 在 Anaconda Prompt 中安装 prettytable。
并得到错误:
UnstatisfiableError:发现以下规范存在冲突:- anaconda == 5.2.0 =py36_3 -> sqlite[version ='3.23.1,>=3.23.1, <4.0a0', build= h35aae40_0] - prettytable
解决方案
为什么不将文件保存为 CSV?这是一种任何人都可以理解的标准化格式,并且存在大量软件可以以更漂亮的方式可视化 CSV 文件。
如果您确实需要查看原始文本文件并且希望它漂亮,那么您可以尝试PrettyTable库。它不适用于开箱即用的 pandas to_csv
,因此您必须做更多的工作。
要以科学计数法格式化数字,您可以通过float_format='%.2E'
.
编辑:
这是一个如何使用 PrettyTable 美化输出的示例:
# in your virtual environment: pip install PTable
from prettytable import PrettyTable
my_table = PrettyTable()
my_table.field_names = ['index', *list_final.columns]
for idx, row in list_final.iterrows():
formatted_row = [idx]
for val in row.values:
if isinstance(val, str):
formatted_row.append(val)
else:
formatted_row.append('%.2E' % val)
my_table.add_row(formatted_row)
with open('Z:/simul/results/result.dat', 'w') as outfile:
outfile.write(str(my_table))
推荐阅读
- javascript - “让”吊起来了吗?
- node.js - 错误:发送base64 post请求Axios时请求正文大于maxBodyLength限制
- nlp - 如何使用 SpaCy 从“FBI 探员 Peter Strzok,他在文本中批评特朗普,被解雇”之类的文本中获得正确的 NER?
- c# - 实体框架:多个实体具有相同的主键值
- mysql - 表中不同用户 ID 出现次数超过 3 次
- android - 在 Clean Architecture 中,Repository 必须是 Android 模块还是 Kotlin 模块?
- html - 如何在不使用任何 CSS 的情况下仅在 html 表格中创建轮廓边框?
- node.js - 无法从命令行或调试器启动服务。必须先安装一个windows服务Nodejs
- google-bigquery - 通过查询分区表创建分区表
- c# - 从列表中删除元素或根本不将它们放入