Pandas Neue Spaltenberechnung basierend auf vorhandenen Spaltenwerten

Quellentabelle

Bitte sehen Sie oben meine Quellentabelle:

Ich bin interessant, neue Spalte "Gruppe" zu berechnen, die auf der Liste der Zinssätze basiert:

Interessante Liste

Wert der Spalte "Gruppe" auf der Grundlage der Bedingung, wenn Lose in Quelltabelle in Spalte "Lot" in viel Interesse vorhanden sind. Wenn dies nicht der Fall ist, wird der Wert in der Spalte "Gruppe" aus der Zelle "LOT_VIRTUAL_LINE" kopiert

Gewünschte Leistung:

Bildbeschreibung hier eingeben

2 Solutions collect form web for “Pandas Neue Spaltenberechnung basierend auf vorhandenen Spaltenwerten”

Da diese Frage mit Pandas versehen ist, gehe ich davon aus, dass wir Dataframes und Serien anstelle von einfachen Listen sprechen. Sie können loc , um die Zeilen und Spalten zu finden, die mit isin Kriterien übereinstimmen (zB ob jedes Element in der LOT Spalte isin der Reihe von lots of interest ).

 df = pd.DataFrame({'LOT': ['A1111', 'A2222', 'A3333', 'B1111', 'B2222', 'B3333'], 'LOT_VIRTUAL_LINE': ['AAA'] * 3 + ['BBB'] * 3}) s = pd.Series(['A1111', 'B2222'], name='Lots Of Interest') # or... df2 = pd.read_csv('file_path/file_name.csv') # Value of 'GROUP' defaults to 'LOT_VIRTUAL_LINE'. df['GROUP'] = df.LOT_VIRTUAL_LINE # But gets overwritten by 'LOT' if it is in the 'Lots of Interest' series. mask = df.LOT.isin(s) # or... mask = df.LOT.isin(df2['Lots of Interest']) # Whatever the column name is. df.loc[mask, 'GROUP'] = df.loc[mask, 'LOT'] # Confirm results. >>> df LOT LOT_VIRTUAL_LINE GROUP 0 A1111 AAA A1111 1 A2222 AAA AAA 2 A3333 AAA AAA 3 B1111 BBB BBB 4 B2222 BBB B2222 5 B3333 BBB BBB 

Angenommen, wir haben eine list namens lots_of_interest , zum Beispiel als Ergebnis von read_csv(path).loc[:, 'lots_of_interest'].tolist() :

 df['Group'] = df.apply(lambda x: x['LOT'] if x['LOT'].isin(lots_of_interest) else x['LOT_VIRTUAL_LINE'], axis=1) 
  • Entfernen Sie NaN 'Cells', ohne die gesamte ROW (Pandas, Python3)
  • Python-Interaktion zwischen Spalten und Zeilen
  • Plotten von Zeitreihen mit Seaborn
  • Pandas: Wie bekomme ich .to_string () Methode, um Spaltenüberschriften mit Spaltenwerten auszurichten?
  • PIP Install Numpy wirft einen Fehler "ascii codec kann nicht decte byte 0xe2"
  • Pandas Gruppen-und Summe
  • Spalte mit konstantem Wert zu pandas dataframe hinzufügen
  • Stündliche Frequenzzählung mit Python
  • Status der Parallelisierung von pandas.apply ()
  • Berechnung der Zeitdifferenz zwischen Ereignissen in Pandas
  • Quartiles in Pandas bekommen, wenn Daten eine geringe Varianz haben
  • Python ist die beste Programmiersprache der Welt.