Python анализ данных CSV-файл - PullRequest
       15

Python анализ данных CSV-файл

0 голосов
/ 16 февраля 2019

Я пытался просто анализировать данные на предмет времени отклика, поскольку было бы невозможно сделать это вручную для каждого участника.Тем не менее, мой код не работает по какой-то причине.Поэтому я хочу посмотреть время отклика для блоков с 1 по 4 с точностью 1 и prob_trial, равным 1, однако мой код явно не позволяет мне это сделать.Есть ли у вас какие-либо предложения?

Содержимое моего csv-файла выглядит следующим образом:

Block,Trial_number,Position,Probability Position,Probability State,Probability trial,Response,Accuracy,RT (ms)
1,1,N,None,None,1,N,1,976.451326394
1,2,X,None,None,1,X,1,935.360659205
1,3,M,0.9,0.81,2,M,1,936.700751889
1,4,Z,0.81,None,2,Z,1,904.942057532
1,5,X,0.9,0.81,2,X,1,952.641545009
1,6,Z,0.81,None,2,Z,1,553.098919248

Мой код такой:

for fnam in d_list:
    if fnam[-4:] == '.csv':

        f_in = path1 + '/' + fnam



        with open(f_in) as csvfile:
            reader = csv.DictReader(csvfile)

            for row in reader:


                block_no.append(int(row['Block']))
                trial_no.append(int(row['Trial_number']))
                prob_trial.append(int(row['Probability trial']))
                accuracy.append(int(row['Accuracy']))
                rt.append(float(row['RT (ms)']))

           for x in block_no:
                if x < 5:f
                    for y in accuracy:
                        if y == 1:
                            for z in prob_trial:
                                if z == 1:
                                    epoch1_improbable.append(rt)

           epoch1_improbable_rt = mean(epoch1_improbable)

1 Ответ

0 голосов
/ 16 февраля 2019

Это идеальный вариант использования для панд , при котором желаемый результат будет получен как

import pandas as pd
df = pd.read_csv('data.csv')
mask = (df['Block'] < 5) & (df['Accuracy'] == 1) & (df['Probability trial'] == 1)
print(df[mask]['RT (ms)'].mean())  # 955.9059927994999
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...