Я пишу функцию, которая будет служить фильтром для строк, которые я хотел использовать.Пример фрейма данных выглядит следующим образом:
df = pd.DataFrame()
df ['Xstart'] = [1,2.5,3,4,5]
df ['Xend'] = [6,8,9,10,12]
df ['Ystart'] = [0,1,2,3,4]
df ['Yend'] = [6,8,9,10,12]
df ['GW'] = [1,1,2,3,4]
def filter(data,Game_week):
pass_data = data [(data['GW'] == Game_week)]
когда я вызываю функциональный фильтр следующим образом, я получаю ошибку.
df1 = filter(df,1)
Сообщение об ошибке
AttributeError: 'NoneType' object has no attribute 'head'
но когда я использую ручной фильтр, он работает.
pass_data = df [(df['GW'] == [1])]
Это моя первая проблема.
Моя вторая проблема заключается в том, что я хочу отфильтровать строки с несколькими GW (1, 2,3) и т. Д.
Для этого я могу вручную сделать это следующим образом:
pass_data = df [(df['GW'] == [1])|(df['GW'] == [2])|(df['GW'] == [3])]
, если я хочу использовать при вводе функции в виде списка [1,2,3] какмогу ли я написать это в функции, чтобы я мог ввести диапазон от 1 до 3?
Может кто-нибудь, пожалуйста, посоветуйте?
Спасибо,
Zep