как вычесть конкретные значения строк в CSV-файл и стандартное отклонение по его результатам - PullRequest
0 голосов
/ 01 июня 2019

У меня есть проблема в моем коде Python. Я использовал в качестве входного файла CSV, В этом файле я присвоил значение с -1. Я хочу напечатать индекс (-1) и напечатать похожие строки, которые имеют одинаковое значение среза -1. Мне нужно вычитание каждой аналогичной строки с строкой, имеющей -1. Нужно напечатать стандартное отклонение результатов вычитаемых элементов. Я новичок в Python Пожалуйста, помогите мне в этом. Я старался изо всех сил, но я не сделал.

данные файла CSV, которые вводятся:

enter image description here

вывод будет следующим:

enter image description here

Я выполнил печать файла CSV и сгенерировал значение вырезания по альфа-каналу и дес из файла CSV Я пробовал много способов сделать это, но я не закончил. Я новичок в питоне

# importing csv module 
  import csv
  import sys
  # initializing the titles and rows list 
  fields = [] 
  rows = [] 

  # Function to calculate threshold set
  def threshold(A, alpha):    
      Cut = []
      for index in range(len(A)):
         if A[index] >= alpha:
            A[index] = 1
         else:
            A[index] = 0
         Cut.append(A[index])
      return Cut

   def find(rows):
       place = []    
       for row in enumerate(rows):
           for j in range(len(row)):
               if rows == -1:
                   place.append(row[0])
           print(rows.index(-1))
       return place      

   # reading csv file
   if __name__ == "__main__":
   x_index = 50
   database_file = input("NOTE: The file must be a CSV file present in the current working directory\n\nPlease enter the file name:")
   alpha = float(input("Please enter your alpha value: "))
   A = []
   index = []   
   with open(database_file, 'r') as csvfile:
       # creating a csv reader object
       csvreader = csv.reader(csvfile)
       # extracting field names through first row    
       fields = next(csvreader)
       # extracting each data row one by one
       for row in csvreader:            
           rows.append(row)
           A.append(float(row[4].strip()))              
       # get total number of rows
       print("\n\n\n\t\t*** FUZZY WITH ONE THRESHOLD DISSIMILARITY ***")
       print("Total no. of rows: %d"%(csvreader.line_num)) 
   # printing the field names
   print('field names are:' + ', '.join(field for field in fields))     
   print('rows are:\n')    
   for row in rows[:]:
       #parsing each column of a row     
       print("%10s"%row),    
   print('\n')
   print("\nAlpha value is {}".format(str(alpha)))
   Cut = threshold(A, alpha)
   print("CUT set = {}".format(" ".join(str(n) for n in Cut)))
   place = find(rows)
   print("Index set = {}".format(" ".join(str(n) for n in place)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...