Несколько способов удаления строк в Pandas: подробное руководство

Чтобы удалить список строк в pandas, вы можете использовать несколько методов. Вот несколько вариантов:

  1. Использование метода drop: вы можете передать список индексов строк или меток в метод dropвместе с axis= 0, указывающий, что вы хотите удалить строки. Например:

    import pandas as pd
    df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    rows_to_drop = [1, 2]  # List of row indexes to drop
    new_df = df.drop(rows_to_drop, axis=0)

    Это создаст новый DataFrame new_dfс удаленными указанными строками.

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

    import pandas as pd
    df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    rows_to_drop = [1, 2]  # List of row indexes to drop
    mask = df.index.isin(rows_to_drop)
    new_df = df[~mask]

    Оператор ~отменяет маску, выбирая строки, которых нет в списке.

  3. Использование индексатора iloc. Вы можете использовать индексатор ilocдля выбора строк на основе их позиций. Передавая список позиций строк, вы можете исключить указанные строки. Вот пример:

    import pandas as pd
    df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    rows_to_drop = [1, 2]  # List of row indexes to drop
    new_df = df.iloc[[i for i in range(len(df.index)) if i not in rows_to_drop]]

    При этом создается новый DataFrame new_df, исключая строки, указанные в списке.