Hohe Speicherpreise: Raspberry Pis werden erneut teurer
Die unaufhaltsam steigenden Speicherpreise erreichen erneut den eigentlich günstigen Raspberry Pi. Dessen Hersteller sieht sich gezwungen, die Preise noch einmal anzuziehen.
Die unaufhaltsam steigenden Speicherpreise erreichen erneut den eigentlich günstigen Raspberry Pi. Dessen Hersteller sieht sich gezwungen, die Preise noch einmal anzuziehen.
Kurz notiert: Die Data-Science-Bibliothek pandas wurde in Version 3.0 veröffentlicht. Auch wenn ein drittes Major-Release erst einmal nach tiefgreifenden Änderungen klingt, ist es tatsächlich nur die SemVer-Versioierung, die für den Major-Release verantwortlich ist, da pandas 3.0 auch ältere Features entfernt, die zuvor deprecated wurden. An sich bleiben natürlich die Grundkonzepte gleich.
Das pandas-Team hebt drei Neuerungen hervor:
Wird ein DataFrame erzeugt, ermittelt pandas in vielen Fällen den Datentyp für die Spalte. Wenn z. B. nur Ganzzahlen enthalten sind, ist der Datentyp int. Bei Strings war dies bisher nicht so, wie wurden als der generische Datentyp object aufgelöst und mussten manuell typisiert werden.
Das wird mit pandas 3.0 gelöst, denn String-Spalten erhalten nun automatisch den Typ str. Für diese Umstellung wird ein Migration-Guide bereitgestellt.
Unter Python gibt es eigentlich keine Pointer, womit man sich eigentlich einige Probleme erspart. Trotzdem kann es Referenzen geben, die wie Pointer wirken. Ein Beispiel aus dem Guide:
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})
subset = df["foo"]
subset.iloc[0] = 100
Aus der 1 in "foo" wurde kurzerhand 100, auch wenn nicht der DataFrame direkt geändert werden musste. Das Verhalten wird schwer vorhersehbar, wenn mit vielen DataFrames auf einmal gearbeitet wird.
Wer eine tatsächliche Kopie anlegen will, muss bisher z. B. subset = df["foo"].copy() aufrufen. Dann wird der DataFrame kopiert und Änderungen an subset landen nicht mehr auf einmal im ursprünglichen DataFrame.
Dieses Verhalten ist nun das Standardverhalten, ein expliziter .copy()-Aufruf wird nicht mehr benötigt. Das erfordert zwar einiges Umdenken hinsichtlich der Änderung von Werten, erspart aber auch einige SettingWithCopyWarnings, die schon in früheren Releases bei bestimmten Spaltenoperationen auftraten. Copy-on-Write bedeutet dabei in der Umsetzung, dass der DataFrame erst einmal weiterhin Referenzen nutzt, aber bei der ersten Veränderung einer Referenz den DataFrame kopiert und nur in der Kopie die Veränderung hinterlegt. Alles zu Copy-on-Write ist hier zu finden.
Pandas steht zunehmend im Wettbewerb zu Polars. Da ist es nicht verwunderlich, dass einige bewährte Features auch bei Pandas Einzug halten.
Neu ist ab pandas 3.0 die Funktion pd.col(). Während bisher bei df.assign()-Operationen auf Lambda-Ausdrücke zurückgegriffen werden musste, geht dies nun einfacher mit der col()-Funktion:
df.assign(c=lambda df: df['a'] + df['b']) # vor 3.0
df.assign(c=pd.col('a') + pd.col('b')) # 3.0
Hier eine Auswahl der Breaking Changes:
concat und homogenen DatetimeIndex-Objekten wird jetzt sort=False berücksichtigt.value_count(sort=False) behält jetzt die Eingabereihenfolge, nicht mehr Sortierung nach Labels.offsets.Day ist jetzt immer ein Kalendertag, kein fixer 24h-Tick. Dabei werden Zeitumstellungen explizit berücksichtigt.NaN vs. NA: In nullable Dtypes werden NaN und NA standardmäßig nun gleich behandelt, Arithmetik erzeugt jetzt NApytz ist von nun an optional.Darüber hinaus gibt es diverse kleine Änderungen, z. B. werden einige Rückgabewerte bei inplace=True verändert.
Das gesamte Changelog ist hier abrufbar. Es wird aufgrund der Deprecations empfohlen, erst auf Pandas 2.3 upgraden, den Code auf Warnings zu überprüfen und erst dann mit dem Upgrade auf Version 3.0 fortzufahren.
Fünf fabelhafte Fakten der Woche, die es irgendwie nicht zu einer Meldung auf Linux-Magazin Online geschafft haben – und warum eigentlich nicht.
Bereits weit vor der Jahrtausendwende begannen die Arbeiten an GNU Gettext, das die Übersetzungen von Programmen erleichtert.
Wer über das Netzwerk auf einen anderen Rechner zugreifen muss, findet in TigerVNC und FreeRDP geeignete Helfer.
Das grafische Partitionierungsprogramm und das zugehörige Live-System liegen in neuen Versionen vor, die jedoch im Wesentlichen nur Komponenten aktualisieren und Fehler beheben.
Ein Betriebssystem, das sich nicht kompromittieren oder manipulieren lässt – dieses Ziel strebt die neue Firma Amutable an. Ein Schlüssel dazu soll „verifizierbare Integrität“ sein.
Die Server-Distribution DietPi fordert in der neuen Major-Version mindestens Debian 12 „Bookworm“ als Unterbau.
Was passiert, wenn Linus Torvalds ausfällt und niemand seinen Posten als Entwicklungschef einnehmen möchte? Dann soll ähnlich zur Papstwahl ein Konkalve einen Ersatz bestimmen.
In seinem ersten Release des Jahres verbessert die geschwindigkeitsoptimierte Distribution CachyOS den Installationsassistenten.
Sowohl die Linux-Distribution GNU Guix als auch der gleichnamige Paketmanager liegen in der Version 1.5.0 vor. Beide fassen alle in den letzten drei Jahren aufgelaufenen Änderungen zusammen.
Fünf fabelhafte Fakten der Woche, die es irgendwie nicht zu einer Meldung auf Linux-Magazin Online geschafft haben – und warum eigentlich nicht.
Als Datenlager dient am Raspberry Pi meist ein großer USB-Stick. Genau einen solchen gibt es jetzt direkt vom Hersteller des Mini-Computers in einem Aluminiumgehäuse mit Himbeer-Logo.
AMD hat seinen ROCm-Stack aktualisiert.
Mit Skip lassen sich schnell iPhone- und Android-Apps aus einer gemeinsamen Codebasis erstellen. Die zuvor kommerzielle Software steht ab sofort unter der GNU LGPL v3.
openSUSE Tumbleweed liefert mittlerweile den grafischen Paketmanager Myrlyn aus, der auf Qt und nicht mehr auf YAST und Ruby basiert.
Das spanische Unternehmen PSE hat eine neue Server-Distribution vorgestellt, die vollständig auf das ZFS-Dateisystemsetzt.
Eine neue Zusatzplatine (HAT) rüstet auf dem Raspberry Pi 5 einen KI-Beschleuniger nach, der endlich auch einige generative KI-Modelle ausführen kann.
Fünf fabelhafte Fakten der Woche, die es irgendwie nicht zu einer Meldung auf Linux-Magazin Online geschafft haben – und warum eigentlich nicht.
Die Raspberry Pi Ltd reagiert auf explodierende Speicherpreise mit Preiserhöhungen und einer neuen 1-GByte-Variante des RasPi 5.
Über Personal Package Archives (PPAs) können Entwickler unkompliziert eigene Paket-Repositories für Ubuntu anbieten.
Die Distribution Emmabuntüs möchte in erster Linie ältere Rechner weiterbetreiben und den Computereinsatz in ärmeren Ländern ermöglichen.
Die kleine Server-Distribution DietPi aktualisiert die Allo GUI, behebt einige kleinere Probleme und offeriert vor allem die Server-Komponente der Fernwartungssoftware RustDesk.
Die Macher des Videoschnittprogramms OpenShot haben eines „ihrer größten Updates“ veröffentlicht.
Die Distribution Rhino Linux basiert auf Ubuntu, nutzt aber einen Rolling-Release-Ansatz.