Для решения вашей задачи вы можете использовать библиотеку `pandas` или `numpy`. Здесь приведены примеры для обоих подходов.
### Решение с использованием pandas
```python
import pandas as pd
# Создаем DataFrame
data = [
['петя', 'ваня', 'ира'],
['катя', 'саша', 'ира'],
['петя', 'миша', 'ира'],
['петя', 'миша', 'саша']
]
df = pd.DataFrame(data)
# Удаляем строки, содержащие как 'петя', так и 'ира'
filtered_df = df[~(df.isin(['петя', 'ира']).all(axis=1))]
print(filtered_df)
```
### Решение с использованием numpy
Если вы предпочитаете использовать `numpy`, вот пример кода, который решает вашу задачу:
```python
import numpy as np
# Создаем массив
array = np.array([
['петя', 'ваня', 'ира'],
['катя', 'саша', 'ира'],
['петя', 'миша', 'ира'],
['петя', 'миша', 'саша']
])
# Удаляем строки, содержащие как 'петя', так и 'ира'
mask = np.array([not (('петя' in row) and ('ира' in row)) for row in array])
filtered_array = array[mask]
print(filtered_array)
```
### Объяснение кода
- В `pandas` мы создаем DataFrame и применяем фильтр, используя метод `isin` в сочетании с `all(axis=1)`, чтобы проверить, содержится ли каждая из искомых строк в каждой строке массива.
- В `numpy` мы создаем логическую маску для фильтрации строк, в которых содержатся как 'петя', так и 'ира', и затем применяем эту маску для извлечения нужных строк.
Таким образом, в обоих примерах в результате будут удалены строки, содержащие оба значения.