Ich habe einen Pandas Datenrahmen mit einer Spalte aus Listen.
Ziel ist es, die Min jeder Liste in einer Reihe (in einer effizienten Weise) zu finden.Wie bekomme ich den minimalen Wert einer Zeilenliste in einem Pandas Datenrahmen
z.
import pandas as pd
df = pd.DataFrame(columns=['Lists', 'Min'])
df['Lists'] = [ [1,2,3], [4,5,6], [7,8,9] ]
print(df)
Ziel ist die Min
Säule:
Lists Min
0 [1, 2, 3] 1
1 [4, 5, 6] 4
2 [7, 8, 9] 7
Danke im Voraus,
gil
Da Ihre 'pandas' Datenstrukturen werden mit Hilfe der' object' dtype, Effizienz töten Sie. –
@ juanpa.arrivillaga ist die Ausgabe dieses Algo 'df [" b "] = np.array (Karte (Liste, [df [" a "]. Shift (x) für x im Bereich (1,4)])) .tolist() '- siehe [http://stackoverflow.com/questions/37967824/how-to-add-a-column-to-a-pandas-dataframe-made-of-arrays-of- der-n-vorhergehende-Wert]. Gibt es eine Möglichkeit, zu beschleunigen? – Gilberto
Das Problem ist, dass Sie Listen in Ihrem 'DataFrame' platzieren, indem Sie dtype' object' machen. Der dtype wird für die zugrundeliegende numpy Datenstruktur vererbt, und "object" dtypes sind langsam. Es ist nicht der Algorithmus, sondern Ihre Datenstruktur. –