Среднее значение массива, созданного из CSV в Python - PullRequest
0 голосов
/ 02 декабря 2019

Я пытаюсь найти среднее значение массива, созданного из данных в файле CSV, используя Python. Данные в массиве включаются в диапазон значений, поэтому они не включают все значения в столбце CSV. Мой текущий код, который создает массив, показан ниже. Было создано несколько массивов, но мне нужно только найти среднее значение массива под названием "T07s". Я постоянно получаю сообщение об ошибке «невозможно выполнить уменьшение с гибким типом» при использовании функции np.mean(T07s)

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])

Данные, включенные в T07, показаны ниже:

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

1 Ответ

1 голос
/ 02 декабря 2019

Значительно больше простого решения:

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())
...