Ich versuche, die meisten dominant/der häufigste Wert einer Spalte zu bekommen, also habe ich versucht, den folgenden Code,Pandas bekommen den dominanteste Wert in der Spalte
df['currency'].value_counts(normalize=True)
, die mir gibt, z.B.
USD 0.800000
CAD 0.100000
EUR 0.050000
GBP 0.050000
nun die Rand Fälle sind wie
USD 0.500000
CAD 0.500000
oder
USD 0.333333
CAD 0.333333
CNY 0.333333
oder
USD 0.400000
CAD 0.400000
CNY 0.100000
EUR 0.100000
und so weiter, wo die Frequenzen selbst unter allen Werten oder einem Teil der Werte.
Jetzt versuche ich solche Kanten Fälle zu erkennen, also was ist der beste Weg, das zu tun?
Mit anderen Worten, ich versuche, die dominanteste Frequenz eines Wertes in der Reihe/Spalte zu finden, in der df['currency'].value_counts().max()
nicht unbedingt die häufigste Frequenz gibt, da die Werte von df['currency'].value_counts()
alle gleich sein könnten. Daher gibt data.df['currency'].value_counts().idxmax()
nicht unbedingt den Index/Spaltenwert mit der höchsten Häufigkeit in der Spalte an.
Sie müssen 's = df [col] .value_counts() '; 's [s == s.max()]'? – Zero
Haben Sie erwogen, die Methode [Series.mode()] (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.mode.html) zu verwenden? – MaxU