Фильтровать информацию из фрейма данных

#python #pandas #matrix

#питон #панды #матрица

Вопрос:

у меня есть некоторые проблемы с функцией, которая должна фильтровать информацию из матрицы, содержащей некоторые данные.

сначала данные содержат несколько столбцов, поэтому я фильтрую их по годам, то есть по информации, которая мне нужна, и по тому, сколько раз число повторяется в нем.

во-вторых, у меня есть два параметра, которые равны двум годам, и это предназначено для фильтрации и выбора информации, необходимой пользователю, поэтому вот проблема, я не знаю, как сократить годы, которые мне не нужны, и отобразить их на линейном графике.

вот код

 def crear_grafico (lim_up:int, lim_donw:int, datos: pd.DataFrame):    lista_años = []    convertir_str = ""    año_analizado = lim_infe   while año_analizado lt;=lim_sup:  convertir_str = str(año_analizado)  lista_años.append(convertir_str)    año_analizado  =1    #######  #######  #######  columna = ['AnioDesmovilizacion']  grupo_año = datos[columna]    grupo_año = grupo_año.value_counts()    print(grupo_año)    grupo_año.keys()  print(grupo_año.keys())  

Комментарии:

1. Некоторые части вашего кода кажутся не относящимися к вопросу. Вы можете сократить их и упростить вопрос для ясности. Также было бы полезно, если бы вы могли показать снимок части данных или столбца, на которые вы ссылаетесь, и объяснить свою проблему, используя это.

Ответ №1:

Вы можете отфильтровать строки, для которых значение «год» не соответствует вашим желаемым условиям (см. Некоторые примеры ниже).

 #If you don't want to keep rows where 'year' is '2000' dataFiltered = data.loc[data["year"] != 2000]   

или другим примером может быть

 dataFiltered = data.loc[(data["year"] gt; 2000) amp; (data["year"] != 2010)]