#python #csv
#python #csv
Вопрос:
Я пишу программу, которая будет фильтровать поля из MLB несколькими способами. (мячи, удары, тип подачи, удары, ауты и т. Д.) Есть ли более простой способ фильтрации, чем вручную записывать каждую ситуацию? Пример ниже:
#any pitch type, specific 'c' and specific 'other'
elif b == 'ALL' and c != 'any' and other != 'any':
if a == dtdy[z]:
#print(number[z])
ID = number[z]
with open('atbats.csv','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
next (plots)
for row in plots:
#if a > k :
if number[z] == row[8]:
pitcher_atbats.append(row[0])
with open('pitches.csv','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
next (plots)
x = []
y = []
pitch= []
h = int(0)
for row in plots:
if h == 3000:
break
else:
#looks for the specific values in row[4] and row[22] and
#will append the x and y value to respective lists
if (row[0] in pitcher_atbats and row[4] == other
and row[22] == c):
x.append(float(row[20]))
y.append(float(row[21]))
pitch.append(row[19])
#sz_bot = (float(row[26]))
#sz_top = (float(row[27]))
#print(sz_bot)
#bot = bot sz_bot
#top = top sz_top
#print(bot)
#if pitcher_atbats[a] == row[0]:
h =1
graph(x,y, pitch)
else:
z = 1
Могу ли я установить для переменных фильтра, таких как ‘c’, значение, которое не будет фильтроваться по ‘c’. В противном случае мне пришлось бы написать около 50 исключений. Извините, если это сбивает с толку, я не уверен, что не объясню это, но я знаю, что я хочу сделать.
На моем GitHub есть полный проект: https://github.com/almostBurtMacklin/GUIpitchFinder
Комментарии:
1. Используйте фрейм данных pandas — pandas.pydata.org
2. @PedroLobito как это мне поможет? Я получаю «фильтр» из поля со списком tkinter и буду отображать x и y с помощью matplotlib
3. Объектно-ориентированный способ сделать это состоял бы в том, чтобы определить абстрактное понятие «filter» is и operates, а затем реализовать эту абстракцию, определив a
class Filter
. Как только это будет сделано, его экземпляры для определенных видов фильтрации, которые вы хотите выполнить, могут быть созданы и применены к данным, которые вы хотите обработать.