Aufgrund der großen Datenmenge verwendeten wir Pandas, um Daten zu verarbeiten, aber ein sehr seltsames Phänomen trat auf. Der Pseudocode sieht so aus:seltsamer Indizierungsmechanismus der Funktion pandas.read_csv mit Chunksize-Option
Wir können bestätigen, dass jede Schleife des Ergebnisses nicht leer ist. Aber nur in der ersten Zeit der Schleife hat Zeile chunk['new_series'] = pd.series(result)
Ergebnis, der Rest ist leer. Daher enthält nur der erste Chunk der Ausgabe new_series, der Rest ist leer.
Haben wir hier etwas übersehen? Danke im Voraus.
Vielen Dank. Ja, dein Vorschlag hat funktioniert. Aber ich verstehe nicht, warum das Verschieben von Ergebnis = [] außerhalb funktioniert. Das ist sehr peinlich für mich. Kannst du ein wenig weiterarbeiten? Danke vielmals! – acepor
Danke für die Erklärung. Aber genau das hat das Problem verursacht. Als wir die Indexierung jedes einzelnen Blocks verfolgten, stellte ich fest, dass sie nicht individuell sind. Wir nahmen an, dass jeder Chunk den Index von 0 aus starten würde, aber in Wirklichkeit ist es NICHT. Der Index jedes Chunks ist in dieser Situation eine Teilmenge der gesamten CSV, sodass ihr Index von der CSV abgeleitet wird. Dies hat das Problem verursacht. Im obigen Beispiel schreibt das 'pandas.to_csv' nur das Ergebnis des ersten Chunks anstelle des letzten Chunks. Aber ich würde immer noch für deine Inspiration danken; Ansonsten wusste ich wirklich nicht, wie ich das lösen sollte. – acepor
Haben Sie meine Empfehlung 'chunk = chunk.assign (new_series = result)' verwendet? Ich glaube nicht, dass Sie dieses Problem damit hätten. – Alexander