#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_ Хамза Не могли бы вы, пожалуйста, сказать мне, почему вы меняете ответ на «неучтенный» после того, как написали, что он работает для вас?. Пожалуйста, дайте мне знать, и, возможно, я смогу добавить больше информации, чтобы ответить на ваши сомнения