Advertisement
vmamontov

for_fireman

Sep 16th, 2022 (edited)
854
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.12 KB | None | 0 0
  1. params = {'rd1': 4,
  2.           'rd2': 2,
  3.           'rd3': 3}
  4.  
  5. rows = None
  6. indexs = None
  7. columns = None
  8.  
  9.  
  10. def create_rows(params):
  11.     '''
  12.    Функция для создания "рядов" по заданным параметрам.
  13.    Параметры хранятся в словаре "params".
  14.    Функция возвращает "data" - список списков (двумерный массив).
  15.    '''
  16.  
  17.     data = []
  18.  
  19.     for key, value in params.items():
  20.         repeat = value
  21.         for r in range(1, repeat+1):
  22.             data.append([r for i in range(3)])
  23.     return data
  24.  
  25.  
  26. rows = create_rows(params)
  27.  
  28.  
  29. indexs = [k for k, v in params.items()
  30.             for _ in range(v)]
  31.  
  32. columns = ['x1', 'x2', 'x3']
  33.  
  34. # print(rows)       #[[1, 1, 1], [2, 2, 2], [3, 3, 3], ...]
  35. # print(indexs)     #['rd1', 'rd1', 'rd1', 'rd1', 'rd2', 'rd2', 'rd3', ...]
  36. # print(columns)    #['x1', 'x2', 'x3']
  37.  
  38.  
  39. df = pd.DataFrame(rows, index=indexs, columns=columns)
  40. df
  41.  
  42. #       x1  x2  x3
  43. # rd1   1   1   1
  44. # rd1   2   2   2
  45. # rd1   3   3   3
  46. # rd1   4   4   4
  47. # rd2   1   1   1
  48. # rd2   2   2   2
  49. # rd3   1   1   1
  50. # rd3   2   2   2
  51. # rd3   3   3   3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement