Guest User

Untitled

a guest
May 24th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.57 KB | None | 0 0
  1. Game1 Game2 Game3 Game4 Game5
  2.  
  3. Player1 2 6 5 2 2
  4.  
  5. Player2 6 4 1 8 4
  6.  
  7. Player3 8 3 2 1 5
  8.  
  9. Player4 4 9 4 7 9
  10.  
  11. import csv
  12. f=open('Games','rb')
  13. f=csv.reader(f,delimiter=';')
  14. lst=list(f)
  15. lst
  16. import numpy as np
  17. myarray = np.asarray(lst)
  18. x=myarray[1,1:] #First player
  19. y=np.sum(x)
  20.  
  21. import pandas as pd
  22.  
  23. df = pd.read_csv('/path/to.file.csv', sep=';')
  24.  
  25. In [196]: df
  26. Out[196]:
  27. Game1 Game2 Game3 Game4 Game5
  28. Player1 2 6 5 2 2
  29. Player2 6 4 1 8 4
  30. Player3 8 3 2 1 5
  31. Player4 4 9 4 7 9
  32.  
  33. In [197]: df.sum(axis=1)
  34. Out[197]:
  35. Player1 17
  36. Player2 23
  37. Player3 19
  38. Player4 33
  39. dtype: int64
  40.  
  41. In [198]: df.sum(1).values
  42. Out[198]: array([17, 23, 19, 33], dtype=int64)
  43.  
  44. >>> import numpy as np
  45. >>> a = np.array([(1,2), (4,5)], dtype=[('Game 1', '<f8'), ('Game 2', '<f8')])
  46. >>> a.sum()
  47. TypeError: cannot perform reduce with flexible type
  48.  
  49. >>> import numpy as np
  50. >>> a = np.array([(1,2), (4,5)], dtype=[('Game 1', '<f8'), ('Game 2', '<f8')])
  51. >>> a["Game 1"].sum()
  52. 5.0
  53.  
  54. import csv
  55.  
  56. ## Data-file
  57. data =
  58. '''
  59. , Game1, Game2, Game3, Game4, Game5
  60. Player1, 2, 6, 5, 2, 2
  61. Player2, 6, 4 , 1, 8, 4
  62. Player3, 8, 3 , 2, 1, 5
  63. Player4, 4, 9 , 4, 7, 9
  64. '''
  65.  
  66. # Write data to file
  67. with open('data.csv', 'w') as FILE:
  68. FILE.write(data)
  69.  
  70. print("Raw data:")
  71. print(data)
  72.  
  73. # 1) Read the data-file (and strip away spaces), the result is data by column:
  74. with open('data.csv','rb') as FILE:
  75. raw = [ [ item.strip() for item in line]
  76. for line in list(csv.reader(FILE,delimiter=',')) if line]
  77.  
  78. print("Data after Read:")
  79. print(raw)
  80.  
  81. # 2) Convert numerical data to integers ("float" would also work)
  82. for (i, line) in enumerate(raw[1:], 1):
  83. for (j, item) in enumerate(line[1:], 1):
  84. raw[i][j] = int(item)
  85.  
  86. print("Data after conversion:")
  87. print(raw)
  88.  
  89. # 3) Use the data...
  90. print("Use the data")
  91. for i in range(1, len(raw)):
  92. print("Sum for Player %d: %d" %(i, sum(raw[i][1:])) )
  93.  
  94. for i in range(1, len(raw)):
  95. print("Total points in Game %d: %d" %(i, sum(list(zip(*raw))[i][1:])) )
  96.  
  97. Raw data:
  98.  
  99. , Game1, Game2, Game3, Game4, Game5
  100. Player1, 2, 6, 5, 2, 2
  101. Player2, 6, 4 , 1, 8, 4
  102. Player3, 8, 3 , 2, 1, 5
  103. Player4, 4, 9 , 4, 7, 9
  104.  
  105. Data after Read:
  106. [['', 'Game1', 'Game2', 'Game3', 'Game4', 'Game5'], ['Player1', '2', '6', '5', '2', '2'], ['Player2', '6', '4', '1', '8', '4'], ['Player3', '8', '3', '2', '1', '5'], ['Player4', '4', '9', '4', '7', '9']]
  107. Data after conversion:
  108. [['', 'Game1', 'Game2', 'Game3', 'Game4', 'Game5'], ['Player1', 2, 6, 5, 2, 2], ['Player2', 6, 4, 1, 8, 4], ['Player3', 8, 3, 2, 1, 5], ['Player4', 4, 9, 4, 7, 9]]
  109. Use the data
  110. Sum for Player 1: 17
  111. Sum for Player 2: 23
  112. Sum for Player 3: 19
  113. Sum for Player 4: 33
  114. Total points in Game 1: 20
  115. Total points in Game 2: 22
  116. Total points in Game 3: 12
  117. Total points in Game 4: 18
  118.  
  119. dt = [('Game1', '<i4'), ('Game2', '<i4'), ('Game3', '<i4'),
  120. ('Game4', '<i4'), ('Game5', '<i4')]
  121. a = np.array([(2, 6, 5, 2, 2),
  122. (6, 4, 1, 8, 4),
  123. (8, 3, 2, 1, 5),
  124. (4, 9, 4, 7, 9)], dtype= dt)
  125.  
  126. nms = a.dtype.names
  127. by_col = [(i, a[i].sum()) for i in nms if a[i].dtype.kind in ('i', 'f')]
  128. by_col
  129. [('Game1', 20), ('Game2', 22), ('Game3', 12), ('Game4', 18), ('Game5', 20)]
  130.  
  131. by_row = [("player {}".format(i), sum(a[i])) for i in range(a.shape[0])]
  132. by_row
  133. [('player 0', 17), ('player 1', 23), ('player 2', 19), ('player 3', 33)]
  134.  
  135. a[0].sum() # massive failure
  136. ....snip out huge error stuff...
  137. TypeError: cannot perform reduce with flexible type
  138. # whereas, this works....
  139. sum(a[0]) # use list/tuple summation
  140.  
  141. b = np.array([list(a[i]) for i in range(a.shape[0])])
  142. b
  143. array([[2, 6, 5, 2, 2],
  144. [6, 4, 1, 8, 4],
  145. [8, 3, 2, 1, 5],
  146. [4, 9, 4, 7, 9]])
  147.  
  148. b.sum(axis=0)
  149. array([20, 22, 12, 18, 20])
  150.  
  151. b.sum(axis=1)
  152. array([17, 23, 19, 33])
  153.  
  154. b = a.view(np.int32).reshape(len(a), -1)
  155. b
  156. array([[2, 6, 5, 2, 2],
  157. [6, 4, 1, 8, 4],
  158. [8, 3, 2, 1, 5],
  159. [4, 9, 4, 7, 9]])
  160. b.dtype
  161. dtype('int32')
  162.  
  163. b.sum(axis=0)
  164. array([20, 22, 12, 18, 20])
  165.  
  166. b.sum(axis=1)
  167. array([17, 23, 19, 33])
  168.  
  169. import csv
  170. from collections import OrderedDict
  171.  
  172. with open('games') as f:
  173. reader = csv.reader(f, delimiter=';')
  174. data = list(reader)
  175.  
  176. sums = OrderedDict()
  177. for row in data[1:]:
  178. player, games = row[0], row[1:]
  179. sums[player] = sum(map(int, games))
Add Comment
Please, Sign In to add comment