Ich habe einen Datenrahmen df, den ich in Json-Ausgabe exportieren möchte. Ich muss auch auf zwei Spalten filtern, sagen wir Spalte a und Spalte b. Standardmäßig muss ich den gesamten Datenrahmen exportieren, aber ich möchte auch Werte an Spalte a und Spalte b als optionale Variablen übergeben, um nur bestimmte Daten zu exportieren. Wenn zum Beispiel col a = "yes" und col b = "red", exportieren Sie es. Ich habe es versucht: df.to_json, aber ich möchte auch wissen, wie man filtert. Wie kann ich das erreichen? Ich bin neu in Pandas und Python, bitte geben Sie detailliertere Erklärungen. Jede Hilfe wird geschätzt, vielen Dank!export dataframe zu json mit zwei Filtern
Antwort
Ich denke, Sie brauchen boolean indexing
mit &
(and
), aber ist auch erforderlich, überprüfen Sie, ob alle Werte benötigen. Lösung ist eine weitere Bedingungen hinzufügen und verketten mit |
(or
).
df = pd.DataFrame({'col a':['yes','no','yes', 'yes'],
'col b':['red','green','orange','red']})
print (df)
col a col b
0 yes red
1 no green
2 yes orange
3 yes red
def filtering(a='ALL',b='ALL'):
m1 = df['col a'] == a
m2 = df['col b'] == b
m3 = a == 'ALL'
m4 = b == 'ALL'
return df[(m1|m3) & (m2|m4)].to_json()
print (filtering())
{"col a":{"0":"yes","1":"no","2":"yes","3":"yes"},
"col b":{"0":"red","1":"green","2":"orange","3":"red"}}
print (filtering('yes','red'))
{"col a":{"0":"yes","3":"yes"},"col b":{"0":"red","3":"red"}}
EDIT:
Für das Filtern von Listen von Werten Lösung ähnlich, nur Bedingungen geändert - Notwendigkeit isin
und in
(ändern ALL
bis zu einem gewissen universellen Wert nie in Daten):
def filtering(a=['ALL'],b=['ALL']):
m1 = df['col a'].isin(a)
m2 = df['col b'].isin(b)
m3 = 'ALL' in a
m4 = 'ALL' in b
return df[(m1|m3) & (m2|m4)].to_json()
print (filtering())
{"col a":{"0":"yes","1":"no","2":"yes","3":"yes"},
"col b":{"0":"red","1":"green","2":"orange","3":"red"}}
print (filtering(['yes'],['red', 'orange']))
{"col a":{"0":"yes","2":"yes","3":"yes"},
"col b":{"0":"red","2":"orange","3":"red"}}
dies hilft aber, wie diese beiden Bedingungen optional machen? – user3062229
Was bedeutet das? Kannst du mehr erklären? oder brauchen Sie stattdessen ein Zeichen "rot" für den Export aller Zeilen, ähnlich für "ja"? – jezrael
Ich brauche eine Funktion, um den Datenrahmen nach json mit allen Daten als Standard und optionale Filterung auf Col a und Col b zu exportieren. Angenommen, ich habe diese Funktion df2json (df, a, b). a (ja) und b (rot) wären die optionalen Variablen, die an diese Funktion übergeben werden. – user3062229
- 1. Map zwei JSON-Arrays mit Filtern
- 2. Filtern von Pandas Dataframe mit OR-Anweisung
- 3. Wie pandas Dataframe nach String zu filtern?
- 4. Wörterbuch mit zwei Schlüssel zu Dataframe
- 5. Python Pandas - Json zu Dataframe
- 6. Wie json mit Winkelfilter zu filtern
- 7. Pandas Dataframe zu JSON-Hierarchie
- 8. Pandas Dataframe zu verschachtelt JSON
- 9. Export json Daten mit highcharts
- 10. typescript wie json nach datum zu filtern
- 11. Dataframe in zwei Dataframe teilen
- 12. Filtern von Json mit .map
- 13. Keras JSON Export: Inbound_nodes
- 14. wie mongo export zu json ohne typ
- 15. Zwei Export-Schaltflächen zu CSV in Rails
- 16. Python DataFrame zu multiplizieren zwei Zeitreihen Datenrahmen
- 17. Kombiniere zwei Pandas DataFrame zu einem neuen
- 18. Django JSON-Datei zu Pandas Dataframe
- 19. HTTP-JSON-Inhalt mit Pipe filtern
- 20. Yii2 Kartikelbaummanager JSON-export
- 21. Wie pandas oder pyspark Dataframe Werte in Spalten zu filtern?
- 22. JSON-Daten zu Spalten in einem Dataframe
- 23. Schreiben Pandas DataFrame zu Line-Delineated JSON
- 24. Export Cookie Jar zu JSON mit Knoten anfordern
- 25. Versuchen, JSON Inhalte durch Kontrollkästchen zu filtern
- 26. Python JSON Pandas Dataframe
- 27. Wie json Objekt in swift zu filtern?
- 28. Convert json Pandas Dataframe
- 29. mehrere JSON-Dateien mit ausgewählten Elementen filtern
- 30. Probleme beim Filtern Pandas Dataframe nach Zeilenwerten?
Es wäre hilfreich, wenn Sie einen grundlegenden Datenrahmen hätten, um ein reproduzierbares Ergebnis zu erhalten. –
Was ist wenn col a nicht "ja" oder col b nicht "rot" ist? –
col a könnte ja oder nein sein, col b könnte "rot", "schwarz", "grün", "blau" usw. sein, um es auf eine SQL-Art zu setzen: es ist ähnlich wie * aus Tabelle auswählen und * auswählen aus der Tabelle, wo col a = '' ja 'und col b =' rot '. Die Where-Bedingung ist jedoch optional. Standardmäßig sollte alles exportiert werden, außer wenn ich die Bedingung festlege, dass nur bestimmte Daten exportiert werden sollen. – user3062229