Ich bin neu bei Python 3 und Pandas. Ich habe versucht, eine neue Spalte zu einem Datenrahmen hinzuzufügen, wobei der Wert die Differenz zwischen zwei vorhandenen Spalten ist. My aktuelle Code ist:apply() Funktion um einen neuen Wert in einer neuen Spalte zu erzeugen
import pandas as pd
import io
from io import StringIO
x="""a,b,c
1,2,3
4,5,6
7,8,9"""
with StringIO(x) as df:
new=pd.read_csv(df)
print (new)
y=new.copy()
y.loc[:,"d"]=0
# My lambda function is completely wrong, but I don't know how to make it right.
y["d"]=y["d"].apply(lambda x:y["a"]-y["b"], axis=1)
gewünschte Ausgabe ist
abcd
1 2 3 -1
4 5 6 -1
7 8 9 -1
Hat jemand eine Idee, wie ich meinen Code arbeiten lassen kann?
Danke für Ihre Hilfe.
Vielen Dank für Ihre Antwort. Es funktioniert wirklich. Darf ich fragen, was x in diesem Fall darstellt? Bedeutet es jede Reihe von y? – derec
Genau, es ist jede Zeile, weil 'Achse = 1'. Wenn 'Achse = 0', ist es jede Spalte. – jezrael