[PYTHON] CSV gruppieren und Mindestwert erhalten (Pandas)

Inhalt dieses Artikels

Vorwort

Während meiner Abschlussforschung musste ich eine relativ große CSV-Datei verarbeiten. Insbesondere die Arbeit des Gruppierens von Zeilen nach dem Wert der ID-Spalte und des Erfassens der Zeile mit der Spalte mit dem kleinsten Abstand in jeder Gruppe. Das zu diesem Zeitpunkt verwendete Verfahren wird nachstehend beschrieben.

Hauptthema

Der Code lautet wie folgt.

import pandas as pd

data = pd.read_csv("Pfad zur ursprünglichen Datendatei")
df = pd.DataFrame(columns=data.columns)
###Dies ist die endgültige Ausgabedatei. Der Spaltenname entspricht den Daten und ist zu diesem Zeitpunkt leer.

dic = {}

for name,group in data.groupby('id'):
   dic[name] = group

list = dic['id'].unique()

for i in list:
   k = dic[i]
   l = k['distance'].idxmin()
   m = data.iloc[l:l+1,:]
   df = df.append(m)

df.to_csv("Der Pfad des Verzeichnisses, das Sie speichern möchten")

Ich denke, es gibt mehr prägnanten Code ... Dies ist in einer Vielzahl von Situationen hilfreich, z. B. beim Erstellen eines DataFrame, der die Spaltennamen der Originaldaten erbt, und beim Abrufen der Zeilennummer, die den Wert einer bestimmten Spalte minimiert.

Recommended Posts

CSV gruppieren und Mindestwert erhalten (Pandas)
[pandas] CSV-Datei Lese- und Anzeigemethode
Laden Sie csv mit Pandas und spielen Sie mit Index
Lesen Sie CSV und analysieren Sie mit Pandas und Seaborn
Pandas mit fehlendem Wert
Extrahieren Sie den Maximalwert mit Pandas und ändern Sie diesen Wert
Installation von Jupyter und Pandas
Pandas Index und Reindex
Lesen Sie die CSV-Datei: pandas
Pandas resample und rollen
Pandas Mittelwertbildung und Auflistung