ich einen Panda DatenrahmenFillna mit häufig meisten, wenn am häufigsten auftreten, sonst fillna mit häufigster Wert der gesamten Spalte
City State
0 Cambridge MA
1 NaN DC
2 Boston MA
3 Washignton DC
4 NaN MA
5 Tampa FL
6 Danvers MA
7 Miami FL
8 Cambridge MA
9 Miami FL
10 NaN FL
11 Washington DC
ich NaNs füllen basierend auf häufigste Zustand will, wenn der Zustand vor, so erscheint I den folgenden Code Gruppe von Staat und anwenden:
df['City'] = df.groupby('State').transform(lambda x:x.fillna(x.value_counts().idxmax()))
der obige Code funktioniert für, wenn alle Staaten vor der Ausgabe aufgetreten sind, wird
City State
0 Cambridge MA
1 Washignton DC
2 Boston MA
3 Washignton DC
4 Cambridge MA
5 Tampa FL
6 Danvers MA
7 Miami FL
8 Cambridge MA
9 Miami FL
10 Miami FL
11 Washington DC
Jedoch habe ich eine condtion hinzufügen möchten, so dass, wenn ein Staat nie seine Stadt auftreten wird am häufigsten in der gesamten Stadt Spalte dh, wenn der Datenrahmen
City State
0 Cambridge MA
1 NaN DC
2 Boston MA
3 Washignton DC
4 NaN MA
5 Tampa FL
6 Danvers MA
7 Miami FL
8 Cambridge MA
9 Miami FL
10 NaN FL
11 Washington DC
12 NaN NY
NY aufgetreten ist nie ist, bevor ich Ausgang wollen sein
City State
0 Cambridge MA
1 Washignton DC
2 Boston MA
3 Washignton DC
4 Cambridge MA
5 Tampa FL
6 Danvers MA
7 Miami FL
8 Cambridge MA
9 Miami FL
10 Miami FL
11 Washington DC
12 Cambridge NY
der obige Code gibt einen Valueerror: (‚Versuch argmax einer leeren Sequenz zu erhalten‘), weil „NY“ noch nie aufgetreten.
@AyaAbdelsalam hat diese Antwort Ihnen geholfen? –