Blog

Die Stärke der Datengemeinschaft und die Schönheit von Open Source

Giovanni Lanzani

Aktualisiert Oktober 21, 2025
2 Minuten

Im Rahmen der PyData Amsterdam 2020 (Tickets im Verkauf) wurde ich gebeten, eine Session über den Einstieg in das Testen in Python vorzubereiten.

Ziel war es, die Teilnehmer in die Lage zu versetzen, sich an der Open-Source-Entwicklung mit Bibliotheken wie Pandas zu beteiligen.

Das ist immer eine entmutigende und demütigende Aufgabe, erst recht jetzt, da ich die Xebia Academy im Grunde hauptberuflich leite und keine Zeit zum Programmieren - oder zum Schreiben von Tests - habe.

Während ich also meinen Vortrag vorbereitete, dachte ich: Wäre es nicht eine tolle Herausforderung, wenn ich den Teilnehmern nicht nur etwas Neues beibringen, sondern auch einen echten Test für Pandas beisteuern könnte?

Und siehe da: Die Pandas-Entwickler sind bereit, meinen Beitrag einzubinden !

@pytest.mark.parametrize(
    "grouping,_index",
    [
        (
            {"level": 0},
            pd.MultiIndex.from_tuples(
                [(0, 0), (0, 0), (1, 1), (1, 1), (1, 1)], names=[None, None]
            ),
        ),
        (
            {"by": "X"},
            pd.MultiIndex.from_tuples(
                [(0, 0), (1, 0), (2, 1), (3, 1), (4, 1)], names=["X", None]
            ),
        ),
    ],
)
def test_rolling_positional_argument(grouping, _index, raw):
    # GH 34605

    def scaled_sum(*args):
        if len(args) < 2:
            raise ValueError("The function needs two arguments")
        array, scale = args
        return array.sum() / scale

    df = DataFrame(data={"X": range(5)}, index=[0, 0, 1, 1, 1])

    expected = DataFrame(data={"X": [0.0, 0.5, 1.0, 1.5, 2.0]}, index=_index)
    result = df.groupby(**grouping).rolling(1).apply(scaled_sum, raw=raw, args=(2,))
    tm.assert_frame_equal(result, expected)

Ich habe eine Menge über die neuen Funktionen von pytest gelernt, wie die Pandas-Codebasis strukturiert ist und vieles mehr!

Möchten Sie auch fortgeschrittene Funktionen von Python für Data Science kennenlernen? Sehen Sie sich unseren Kurs Advanced Data Science with Python an oder beginnen Sie mit dem Kurs Data Science with Python Foundation.

Verfasst von

Giovanni Lanzani

Contact

Let’s discuss how we can support your journey.