Python3.6 - 将 .csv 中的所有列值除以单个标量(不使用 pandas 和数据帧)
Python3.6 - Divide All Column Values from .csv by Single Scalar (not using pandas and dataframes)
我正在为 Windows 使用 python3.6 - 32 位。我想在绘制之前将第 0 列中的所有数据除以 3600。我该怎么做呢?请看下面的代码。 PS 代码按原样工作正常,只是想从 sec 获取我的时间数据。小时(因此价值 3600)都在同一个程序中。
import matplotlib.pyplot as plt
import csv
x = []
y = []
with open('C:\Log_data5.dat','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(float(row[0]))
y.append(float(row[5]))
plt.plot(x,y, label='Loaded from file!')
plt.ylabel('Temperature(°C)')
plt.xlabel('Time(s)')
plt.title('Temp vs. Time')
plt.ticklabel_format(style='plain')
plt.ticklabel_format(useOffset=False)
plt.legend()
plt.show()
我认为你可以将 x.append(float(row[0]))
更改为 x.append(float(row[0])/3600)
。
这会将您的 row[0]
(即时间)值除以 3600,然后再将它们插入您的 x 轴列表。
不要忘记将您的 x 轴标签单位从 s
更新为 hr
。
我正在为 Windows 使用 python3.6 - 32 位。我想在绘制之前将第 0 列中的所有数据除以 3600。我该怎么做呢?请看下面的代码。 PS 代码按原样工作正常,只是想从 sec 获取我的时间数据。小时(因此价值 3600)都在同一个程序中。
import matplotlib.pyplot as plt
import csv
x = []
y = []
with open('C:\Log_data5.dat','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(float(row[0]))
y.append(float(row[5]))
plt.plot(x,y, label='Loaded from file!')
plt.ylabel('Temperature(°C)')
plt.xlabel('Time(s)')
plt.title('Temp vs. Time')
plt.ticklabel_format(style='plain')
plt.ticklabel_format(useOffset=False)
plt.legend()
plt.show()
我认为你可以将 x.append(float(row[0]))
更改为 x.append(float(row[0])/3600)
。
这会将您的 row[0]
(即时间)值除以 3600,然后再将它们插入您的 x 轴列表。
不要忘记将您的 x 轴标签单位从 s
更新为 hr
。