Для того, чтобы найти предпоследнюю дату посещения места X из столбца "B", сначала необходимо отфильтровать строки, содержащие место X в столбце "A". Затем можно отсортировать эти строки по дате в столбце "B" и выбрать вторую по счету дату.
Примерный алгоритм:
1. Отфильтровать строки, содержащие место X в столбце "A".
2. Отсортировать отфильтрованные строки по дате в столбце "B" в убывающем порядке.
3. Выбрать вторую по счету дату из отсортированных строк.
Пример кода на Python с использованием библиотеки Pandas:
```python
import pandas as pd
# Создание DataFrame
data = {'A': ['место1, место2', 'место1, место3', 'место2, место1', 'место3', 'место3, место1'],
'B': ['2022-01-01', '2022-01-05', '2022-01-03', '2022-01-02', '2022-01-04']}
df = pd.DataFrame(data)
# Место X
place_X = 'место1'
# Отфильтровать строки, содержащие место X
filtered_rows = df[df['A'].str.contains(place_X)]
# Отсортировать отфильтрованные строки по дате в столбце "B"
sorted_rows = filtered_rows.sort_values(by='B', ascending=False)
# Получить предпоследнюю дату
if len(sorted_rows) > 1:
predpred_last_date = sorted_rows.iloc[1]['B']
print(predpred_last_date)
else:
print('Недостаточно данных')
```
В этом примере кода, строки данных фильтруются, после чего сортируются в порядке убывания даты посещения места X. После этого выбирается вторая по счету дата из отсортированных строк.