【问题标题】:Save numpy array to CSV without scientific notation将 numpy 数组保存为 CSV,无需科学记数法
【发布时间】:2017-07-30 01:32:03
【问题描述】:

我能够计算出 A 的平均值、最小值和最大值:

 import numpy as np

 A = ['33.33', '33.33', '33.33', '33.37']

 NA = np.asarray(A)
 NA = NA.astype(float)
 AVG = np.mean(NA, axis=0)
 MN = np.min(NA, axis=0)
 MX = np.max(NA, axis=0)

 print AVG, MN, MX

使用 python 将这些结果保存到 csv 文档的最简单方法是什么?我没有,所以需要创建它。

如果我使用这个:

 np.savetxt('datasave.csv', (AVG,MN,MX), delimiter=',')

它将在 csv 中显示为科学计数法。我怎么不能得到它但浮动?

【问题讨论】:

  • 使用 csv 模块,特别是 csv.writer。
  • 你试过使用savetxtfmr参数吗?

标签: python csv numpy


【解决方案1】:

CSV 或逗号分隔值文件正是用逗号分隔信息的文件。

例如: 这个信息最终会像

<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
<tr>
<td>Luis</td>
<td>45</td>
<td>M</td>
</tr>
<tr>
<td>Anna</td>
<td>30</td>
<td>F</td>
</tr>
<tr>
<td>Brian</td>
<td>28</td>
<td>M</td>
</tr>
</tbody>
</table>
Name,Age,Gender
Luis,45,M
Anna,30,F
Brian,28,M

Python 已经为此内置了一个模块,即 csv 模块,您可以在此处获取一些文档:https://docs.python.org/3/library/csv.html

【讨论】:

  • HTML 真的有必要吗?问题是如何获得科学记数法
  • 此答案不会为问题增加任何价值。它只显示了如何将 HTML 表格转换为 CSV,但没有人要求它。
【解决方案2】:

您可以使用 CSV 模块

import csv
f = open('New file.csv',"wb")
writer = csv.writer(f)
for row in [AVG, MN, MX]:
    writer.writerow(row)

f.close()

【讨论】:

  • 谢谢,但由于某种原因,当使用此方法时,文件已创建,但其中没有任何内容。有什么想法吗?
【解决方案3】:
In [153]: print(AVG, MN, MX)
33.34 33.33 33.37

默认写入:

In [154]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',')
In [155]: cat test.txt
3.333999999999999631e+01
3.332999999999999829e+01
3.336999999999999744e+01

使用自定义fmt

In [156]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',', fmt='%f')
In [157]: cat test.txt
33.340000
33.330000
33.370000

或者如果你想要一行的值,把它变成一个二维数组(或用额外的 [] 等效),所以它每行写一行:

In [160]: np.savetxt('test.txt',[[AVG, MN, MX]], delimiter=',', fmt='%f')
In [161]: cat test.txt
33.340000,33.330000,33.370000

您可以尝试其他参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2019-04-21
    • 2017-01-26
    相关资源
    最近更新 更多