Я хочу сделать некоторую математику по моим данным и застрять с ней. Я читаю строковые списки из файлов csv и могу их нарисовать до сих пор. Теперь я пытаюсь преобразовать строковые списки в списки с плавающей точкой, так как хочу сделать некоторую математику в элементах списка и создавать новые списки и строить их.Чтение списка из CSV и конвертирование в список поплавков
import numpy as np
import math
import matplotlib.pyplot as plt
with open("testlog.csv") as f:
data = f.read()
data = data.split('\n')
time = [row.split(',')[0] for row in data]
gyro_x_lsb = [row.split(',')[1] for row in data]
gyro_y = [row.split(',')[2] for row in data]
gyro_z = [row.split(',')[3] for row in data]
accel_x = [row.split(',')[4] for row in data]
accel_y = [row.split(',')[5] for row in data]
accel_z = [row.split(',')[6] for row in data]
comp_x = [row.split(',')[7] for row in data]
comp_y = [row.split(',')[8] for row in data]
comp_z = [row.split(',')[9] for row in data]
temp = [row.split(',')[10] for row in data]
gyro_x_lsb = float(gyro_x_lsb)# make floats in a new list
gyro_x_dps = [gyro_x_lsb/(32768*2000) for gyro_x_dps_f in gyro_x_lsb]
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.set_title("Gyro X AR [LSB]")
ax1.set_xlabel('Time[ms]')
ax1.set_ylabel('AR [LSB]')
ax1.plot(time,gyro_x_lsb, c='r', label='X')
leg = ax1.legend()
ax2 = fig.add_subplot(212)
ax2.set_title("MPU9250_test_Accel")
ax2.set_xlabel('Time[ms]')
ax2.set_ylabel('Acceleration')
ax2.plot(time,accel_x, c='r', label='Accel_X')
leg = ax2.legend()
plt.show()
Я пытаюсь рассчитать каждый элемент в «gyro_x_lsb»/32768 * 2000. Но это не сработает. Я тоже попробовал карту.
Заранее спасибо ... TMP36
BTW: Я использую Анаконда 3 (2.5.0) с Python 3.5 Я новичок в Python и на этот форум.
Возможного дубликат [читать значения из CSV-файлов и конвертировать их плавать массивы] (http://stackoverflow.com/questions/14493026/read-values-from-csv-file-and-convert- them-to-float-arrays) – ebarr