I realized that I should say more specifically about numpy usage.
If you see a piece of code like this, it rings the bell that the person has no idea what he/she is doing:
Bad Pattern:
my_list = np.array(xxx)
summed = []
for row in my_list:
summed.append(np.sum(row))
Worst Pattern:
my_list = np.array(xxx)
def get_summed(arr):
return np.sum(arr)
summed = []
for i in range(len(my_list)):
summed.append(
get_summed(my_list[i])
)
Perfered:
# np.array(xxx) is redundant
summed = np.sum(xxx, axis=1)
Same applies to
all numpy operations.