Можно ли отфильтровать данные в массиве, чтобы в итоговом результате остались только те строки, где в столбце goalsID присутствует цифра 3, без необходимости разделять значения столбца goalsID на отдельные столбцы? В результате нужно получить такой вывод: <br/> <br/> <pre><code class="python">userID goalsID 188 [3,6]</code></pre>
Да, вы можете отфильтровать строки в датафрейме Pandas, основываясь на значении, которое содержится в списке в столбце. Для этого можно использовать метод `.apply()` вместе с функцией `lambda` для проверки наличия значения 3 в каждом элементе столбца `goalsID`. Вот пример кода: ```python import pandas as pd # Создаем датафрейм data = { 'userID': [188, 189, 190], 'goalsID': [[3, 6], [1, 2], [4, 5]] } df = pd.DataFrame(data) # Фильтруем строки, где в goalsID присутствует 3 filtered_df = df[df['goalsID'].apply(lambda x: 3 in x)] print(filtered_df) ``` В этом примере: 1. Мы создаем датафрейм `df`. 2. Используем `df['goalsID'].apply(lambda x: 3 in x)` для фильтрации строк, где 3 присутствует в списке в столбце `goalsID`. 3. Результат будет содержать только те строки, которые соответствуют условию. Результат выведет: ``` userID goalsID 0 188 [3, 6] ``` Таким образом, вам не нужно создавать отдельный столбец, и вы можете получить нужный результат непосредственно из существующих данных.
Решений миллион.
1. написать функцию для работы с питон списком, которая будет будет возвращать, True,False.
2. Применить один из многочисленных методов фильтрации.
Например
df = pd.DataFrame({ 'userID':[25,188,79], 'goalsID':[[1,2,4,5],[3,6],[1,9]] }) ( df.loc[lambda x:x['goalsID'].apply(lambda x: 3 in x)] )
Напиши на Python функцию которая на вход принимает твой массив и на выходе тоже выдает массив.
Потом у датафрейма есть метод apply() который твою функцию применяет.