Ich habe eine for-Schleife, die eine Gruppe von Schülern in einem Datenrahmen durchläuft und deren ID und Anwesenheit zurückerhält:
for i in FinalDataset.index:
student = FinalDataset.loc[i,'students']
AttendanceSoFar = FinalDataset.loc[i,'OverallAttCurrent']
data = [[student, AttendanceSoFar]]
InsertionData = pd.DataFrame(data, columns=['student', 'AttendanceSoFar'])
InsertionData.to_excel("Result.xlsx")
Ich habe diese Details dann in einen Datenrahmen namens InsertionData eingefügt und eine Excel-Tabelle mit diesen Daten erstellt. Derzeit werden jedoch mehrere Tabellen erstellt. Ich möchte nur jedes Mal eine neue Zeile hinzufügen, wenn sie sich wiederholt. Weiß jemand, wie man das macht?
PS - In meinem eigentlichen Code führe ich auch mehrere Berechnungen durch und füge neue Variablen hinzu, weshalb ich nicht einfach Spalten im aktuellen Datenrahmen löschen und diese verwenden kann.
Das Problem wird in diesem Tutorial ausführlich erläutert: Hinzufügen von Zeilen in einem DataFrame mithilfe von dataframe.append () & loc [], iloc [] oder Hinzufügen einer Zeile zu Pandas DataFrame
Hier ist ein einfaches Beispiel aus Ihrem Snippet:
# Create output dataframe
OutputData = pd.DataFrame(columns=['student', 'AttendanceSoFar'])
for i in FinalDataset.index:
# computations ...
# Select student and OverallAttCurrent
student = FinalDataset.loc[i, 'students']
AttendanceSoFar = FinalDataset.loc[i, 'OverallAttCurrent']
# Add the data in the output
OutputData = OutputData.append(
{"student": student, "AttendanceSoFar": AttendanceSoFar}, ignore_index=True)
# Export to excel
OutputData.to_excel("Result.xlsx")
Hoffentlich hilft das!
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen