簡體   English   中英

Python-將小數位數添加到cvs文件中的元素

[英]Python - Adding Decimal places to elements in cvs file

從數據模擬導出CSV文件時,我們丟失了與記錄的數據關聯的小數位,從而使繪圖和值不准確。

收集數據后,將其導入excel,然后以CSV格式導出。 最初帶有數據的十進制值(例如1356.00000),但在CSV數據中未將其導出。 我正在為這些值使用curve_fit,並且我發現精度會隨着十進制值的丟失而大大降低。 所以這就是為什么我要向數據集中的每個元素添加小數點。

有什么辦法可以解決此問題,以便將數組中的所有value元素輸出為帶有十進制值的數組?

import numpy as np
import scipy as sp
import csv

DecayTime = []
DecayCount = []

with open('Half_Life_Run_Decay.csv', 'r') as h:
    reader = csv.reader(h, delimiter=',')
    for row in reader:
        DecayTime4.append(row[0])
        DecayCount4.append(row[1])

DecayTime = np.array(DecayTime) 
DecayCount = np.array(DecayCount) 

我不確定您的問題與數據類型有關,而是與精度有關。 是否所有數據都被解釋為整數?

在訪問其列之前,請嘗試將其轉換為浮點:

row = map(float, row)           

或者,如果您只想更改字符串:

row = map(lambda s: s + ".0000", row)                                       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM