Рассмотрим следующий `pl.DataFrame``:
import polars as pl
data = {
"symbol": ["AAPL"] * 5 + ["GOOGL"] * 3 + ["MSFT"] * 4,
"date": [
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04",
"2023-01-05", # AAPL has 5 dates
"2023-01-01",
"2023-01-02",
"2023-01-03", # GOOGL has 3 dates
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04", # MSFT has 4 dates
],
}
df = pl.DataFrame(data)
with pl.Config(tbl_rows=-1):
print(df)
shape: (12, 2)
┌────────┬────────────┐
│ symbol ┆ date │
│ --- ┆ --- │
│ str ┆ str │
╞════════╪════════════╡
│ AAPL ┆ 2023-01-01 │
│ AAPL ┆ 2023-01-02 │
│ AAPL ┆ 2023-01-03 │
│ AAPL ┆ 2023-01-04 │
│ AAPL ┆ 2023-01-05 │
│ GOOGL ┆ 2023-01-01 │
│ GOOGL ┆ 2023-01-02 │
│ GOOGL ┆ 2023-01-03 │
│ MSFT ┆ 2023-01-01 │
│ MSFT ┆ 2023-01-02 │
│ MSFT ┆ 2023-01-03 │
│ MSFT ┆ 2023-01-04 │
└────────┴────────────┘
Мне нужно сделать даты каждой группы (символ grouped_by) одинаковыми для всех групп.
Поэтому мне нужно определить общие даты для всех групп (вероятно, с помощью join) и впоследствии соответствующим образом отфильтровать фрейм данных.
Это может быть связано с поиском пересечения столбцов из разных полярных фреймов данных.
I ищу общее решение. В приведенном выше примере результирующий pl.DataFrame должен выглядеть следующим образом:
shape: (9, 2)
┌────────┬────────────┐
│ symbol ┆ date │
│ --- ┆ --- │
│ str ┆ str │
╞════════╪════════════╡
│ AAPL ┆ 2023-01-01 │
│ AAPL ┆ 2023-01-02 │
│ AAPL ┆ 2023-01-03 │
│ GOOGL ┆ 2023-01-01 │
│ GOOGL ┆ 2023-01-02 │
│ GOOGL ┆ 2023-01-03 │
│ MSFT ┆ 2023-01-01 │
│ MSFT ┆ 2023-01-02 │
│ MSFT ┆ 2023-01-03 │
└────────┴────────────┘
Подробнее здесь: https://stackoverflow.com/questions/791 ... -dataframe
Найти пересечение дат в сгруппированном полярном фрейме данных ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вычислить среднее значение значений в списке, сгруппированном по меткам
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-