我想对我的数据做些数学运算,然后坚持下去。 我正在从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型
顺便说一句:我在Python3.5中使用了Anaconda3(2.5.0) 我是Python和这个论坛的新手。在
List comprehensions会为你做很多事情。在
比如:
这里我使用的是a generator expression,它与列表理解的语法相同,但是在本例中性能更好。在
希望能有点帮助。在
考虑使用Python
csv
模块来读取CSV文件。感谢您对CSV模块的提示。这把我的数据读成元组。这对我来说也是新鲜事,我发现了一种可能,可以对我的数据进行数学运算。这是现在对我有用的代码,也许不完美,但我现在很高兴。在
相关问题 更多 >
编程相关推荐