Как извлечь определенную строку из набора данных и добавить в другой список

#python #pandas #list #dataframe

Вопрос:

У меня есть Набор данных. о крупных распродажах на рынках. Сначала я выбираю столбец (ITEM_TYPE), а затем использую цикл for для сопоставления ( молочных продуктов ) со всем столбцом. Я столкнулся с проблемой,я не смог получить всю строку. я начинающий набор данных

 mainlist
df = pd.read_csv('bm_Train.csv')
dt =df['Item_Type']
list_of_item = dt.to_list()

i=1
for x in list_of_item:
    if x=="Dairy":
        mainlist.append(dt[:i])
i =i

mainlist
 

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

1. Вы можете получить все строки, соответствующие «Молочным продуктам», в столбце «Тип элемента», выполнив следующее : df[df["Item_Type"]=="Dairy] . Однако ваш код содержит множество ошибок

Ответ №1:

Если вы хотите извлечь содержимое строк, соответствующих критериям фильтрации, в список, вы можете использовать .loc для фильтрации содержимого, а затем .values.tolist() преобразовать содержимое строк в список следующим образом:

 mainlist = df.loc[df['Item_Type'] == "Dairy"].values.tolist()
 

Ответ №2:

Если вы хотите отфильтровать набор данных на основе 'Item_Type' == 'Dairy' , вы можете попробовать использовать следующий код.

 df_new = df.loc[df['Item_Type'] == 'Dairy'].copy()
 

С другой стороны, если вам нужны только значения 'Item_Type'

 list_of_item = df['Item_Type'].unique().tolist()
 

В противном случае, пожалуйста, дайте мне знать, чего вы хотите.

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

1. Я хочу создать новый список или csv-файл. и добавьте всю строку набора данных, которая содержит Item_Type ==’Молочные продукты’

2. @Muhammad_ Хамза Не могли бы вы, пожалуйста, сказать мне, почему вы меняете ответ на «неучтенный» после того, как написали, что он работает для вас?. Пожалуйста, дайте мне знать, и, возможно, я смогу добавить больше информации, чтобы ответить на ваши сомнения