DSPROGLIB Telegram 6520
⚡️ Narwhals: универсальные функции для любых DataFrame

С Narwhals можно писать функции, которые работают с разными библиотеками данных — pandas, polars, DuckDB, PySpark и даже PyArrow, без лишних зависимостей.

Пример: группируем данные по месяцам и считаем среднюю цену

import narwhals as nw
from narwhals.typing import IntoFrameT

def agnostic_function(df_native: IntoFrameT, date_column: str, price_column: str) -> IntoFrameT:
return (
nw.from_native(df_native)
.group_by(nw.col(date_column).dt.truncate("1mo"))
.agg(nw.col(price_column).mean())
.sort(date_column)
.to_native()
)


Работает и с pandas:
import pandas as pd
from datetime import datetime

data = {
"date": [datetime(2020, 1, 1), datetime(2020, 1, 8), datetime(2020, 2, 3)],
"price": [1, 4, 3],
}
print(agnostic_function(pd.DataFrame(data), "date", "price"))


И с Polars:
import polars as pl

print(agnostic_function(pl.DataFrame(data), "date", "price"))


👌 Подробные примеры можно посмотреть в статье: https://clc.to/RytBgA

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/dsproglib/6520
Create:
Last Update:

⚡️ Narwhals: универсальные функции для любых DataFrame

С Narwhals можно писать функции, которые работают с разными библиотеками данных — pandas, polars, DuckDB, PySpark и даже PyArrow, без лишних зависимостей.

Пример: группируем данные по месяцам и считаем среднюю цену

import narwhals as nw
from narwhals.typing import IntoFrameT

def agnostic_function(df_native: IntoFrameT, date_column: str, price_column: str) -> IntoFrameT:
return (
nw.from_native(df_native)
.group_by(nw.col(date_column).dt.truncate("1mo"))
.agg(nw.col(price_column).mean())
.sort(date_column)
.to_native()
)


Работает и с pandas:
import pandas as pd
from datetime import datetime

data = {
"date": [datetime(2020, 1, 1), datetime(2020, 1, 8), datetime(2020, 2, 3)],
"price": [1, 4, 3],
}
print(agnostic_function(pd.DataFrame(data), "date", "price"))


И с Polars:
import polars as pl

print(agnostic_function(pl.DataFrame(data), "date", "price"))


👌 Подробные примеры можно посмотреть в статье: https://clc.to/RytBgA

Библиотека дата-сайентиста #буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tgoop.com/dsproglib/6520

View MORE
Open in Telegram


Telegram News

Date: |

With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. To edit your name or bio, click the Menu icon and select “Manage Channel.” 3How to create a Telegram channel?
from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM American