seqData.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import pandas as pd
  2. import numpy as np
  3. import sys
  4. # sys.path.append("C:/Users/iuliia/recoUI/serv")
  5. class SequenceDataFrame:
  6. array_raw = None
  7. mat_df = None
  8. seq_df = None
  9. all_df = None
  10. sequence_seq = None
  11. type_seq = None
  12. phase_shift = None
  13. def read_raw_data(self, data):
  14. sub_arrays = [subarray for subarray in data]
  15. self.array_raw = sub_arrays[1]
  16. def read_dots(self, Np):
  17. mat_df = pd.DataFrame(self.array_raw, columns=['real', 'imag'])
  18. mat_df = mat_df.drop(mat_df.index[Np::(Np + 1)])
  19. mat_df = mat_df.reset_index(drop=True)
  20. mat_df = mat_df.dropna()
  21. columns = [mat_df.iloc[:, i:i + 2] for i in range(0, mat_df.shape[1], 2)]
  22. mat_df = pd.concat(columns, axis=1)
  23. mat_df['dot'] = mat_df['real'] + 1j * mat_df['imag']
  24. mat_df = mat_df[~mat_df['dot'].isna() & (mat_df['dot'] != '')]
  25. num_batches = len(mat_df) // Np
  26. index_values = np.repeat(np.arange(num_batches), Np)
  27. index_values = index_values[:len(mat_df)]
  28. mat_df['index'] = index_values
  29. self.mat_df = mat_df