Mein Beispiel df hat vier Spalten mit NaN
Werte. Das Ziel besteht darin, alle Zeilen zu verketten und dabei die Werte NaN
auszuschließen.Kombinieren Sie mehrere Spalten in Pandas mit Ausnahme von NaNs
import pandas as pd
import numpy as np
df = pd.DataFrame({'keywords_0':["a", np.nan, "c"],
'keywords_1':["d", "e", np.nan],
'keywords_2':[np.nan, np.nan, "b"],
'keywords_3':["f", np.nan, "g"]})
keywords_0 keywords_1 keywords_2 keywords_3
0 a d NaN f
1 NaN e NaN NaN
2 c NaN b g
möchte folgendes erreichen:
keywords_0 keywords_1 keywords_2 keywords_3 keywords_all
0 a d NaN f a,d,f
1 NaN e NaN NaN e
2 c NaN b g c,b,g
Pseudo-Code:
cols = [df.keywords_0, df.keywords_1, df.keywords_2, df.keywords_3]
df["keywords_all"] = df["keywords_all"].apply(lambda cols: ",".join(cols), axis=1)
Ich weiß, ich kann ",".join()
verwenden, um die genaue Ergebnis zu bekommen, aber ich bin nicht sicher, wie das passieren Spaltennamen in die Funktion ein.
für Ihren letzten Satz mit Hilfe braucht er cols zu '[ 'keywords_0', 'keywords_1', 'keywords_2' zu konvertieren , 'keywords_3']] richtig? –
@RayhaneMama Ja, das stimmt. Ich vertraute dem Pseudo-Code, aber ich hätte klarer sein sollen. Vielen Dank. – ayhan
Danke. Das hat super funktioniert! – cptpython