Python中从CSV创建的数组的平均值

2024-04-26 13:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python从CSV文件中的数据创建数组的平均值。数组中的数据包含在一系列值之间,因此它不包含CSV列中的所有值。我当前创建数组的代码如下所示。已经创建了几个数组,但我只需要找到名为“T07s”的数组的平均值。在使用函数np.mean(T07s)时,我总是遇到错误“cannotperformreducewithflexible type”

import csv

class dataPoint:
    def __init__(self, V, T07, T19, T27, Time):
        self.V = V
        self.T07 = T07
        self.T19 = T19
        self.T27 = T27
        self.Time = Time

dataPoints = []
with open("data_final.csv") as csvfile:
    reader = csv.reader(csvfile)
    next(reader)
    for row in reader:
        if 229 <= float(row[2]) <= 231:
            temp = dataPoint(row[1], row[12], row[24], row[32], row[0].split(" ")[1])
            dataPoints.append(temp)

T07s = np.array([x.T07 for x in dataPoints])

T07s中包含的数据如下所示:

for x in T07s:
    print(x)

37.2
539
435.6
717.4
587
757.9
861.8
1024.2
325
117.9
136.3
167.8
809
405.3
405.1
112.7
1317.1
1731.8
1080.2
1208.6
1212.6
1363.8
1715.3
2376.4
2563.9
2998.4
2934.7
2862.4
390.8
2332.2
2121
2237.6
2334.1
2082.2
1892.1
1888.8
1960.6
1329.1
1657.2
2042.4
1417.5
977.3
1442.8
561.2
500.3
413.3
324.1
693.7
750
865.7
434.2
635.2
815.7
171.4
829.3
815.3
774.8
1411.6
1685.1
1345.1
1193.2
1674.9
1636.4
1389.8
753.3
1102.8
908.3
1223.2
1199.4
1040.7
1040.9
824.7
620
795.7
810.4
378.8
643.2
441.8
682.8
417.8
515.6
2354.7
1938.8
1512.4
1933.5
1739.8
2281.9
1997.5
2833.4
182.8
202.4
217.3
234.2
741.9

Tags: csv数据inselffortime数组reader
1条回答
网友
1楼 · 发布于 2024-04-26 13:31:15

显然更简单的解决方案:

import pandas as pd

data = pd.read_csv('data_final.csv')
data_filtered = data[data.iloc[:,2] >= 229 & data.iloc[:,2] <= 231]
print(data_filtered['T07'].mean())

相关问题 更多 >