Angenommen, ich habe einen 5 * 3-Datenrahmen, in dem die dritte Spalte einen fehlenden Wert enthält
1 2 3
4 5 NaN
7 8 9
3 2 NaN
5 6 NaN
Ich hoffe, einen Wert für die fehlende wertbasierte Regel in der zweiten Spalte des ersten Produkts zu generieren
1 2 3
4 5 20 <--4*5
7 8 9
3 2 6 <-- 3*2
5 6 30 <-- 5*6
Wie kann ich den Datenrahmen verwenden? Vielen Dank.
Wie füge ich eine Bedingung hinzu, um einen fehlenden Wert wie diesen zu berechnen?
if 1st % 2 == 0 then 3rd = 1st * 2nd
else 3rd = 1st + 2nd
1 2 3
4 5 20 <-- 4*5 because 4%2==0
7 8 9
3 2 5 <-- 3+2 because 3%2==1
5 6 11 <-- 5+6 because 5%2==1
Antworten:
Unter der Annahme , drei Spalten Ihres Datenrahmen ist
a
,b
undc
. Das ist, was du willst:Vollständiger Code:
quelle
Unter der Annahme , dass die drei Spalten in Ihrem Datenrahmen sind
a
,b
undc
. Dann können Sie die gewünschte Operation wie folgt ausführen:quelle
np.where(pd.isnull(df.c), df.a * df.b, df.c)
Andere Option:
df.loc[(pd.isnull(df.C)), 'C'] = df.A * df.B
quelle
Was ist mit der
fillna()
Methode des Datenrahmens?df['C'].fillna(df.A * df.B)
quelle