Ich möchte eine Nachschlagetabelle aus einem Datenrahmen basierend auf mehreren Bedingungen erstellen. Ich habe folgende df: Erstellen Sie eine Nachschlagetabelle aus Datenrahmen
So, gruppiert nach 'LG' und die Behälter befördert von 0:N = 100
L = ['AR1', 'PO1', 'RU1']
np.random.seed(0)
df3 = pd.DataFrame(
{'X':np.random.uniform(1,4,N),
'Y':np.random.uniform(1,4,N),
'Z':np.random.uniform(1,4,N),
'LG':np.random.choice(L,N),
})
df3['bins_X'] = df3.groupby('LG')['X'].apply(pd.qcut, q=5, labels=np.arange(5))
df3['bins_Y'] = df3.groupby('LG')['Y'].apply(pd.qcut, q=5, labels=np.arange(5))
df3['bins_Z'] = df3.groupby('LG')['Z'].apply(pd.qcut, q=5, labels=np.arange(5))
df3['bins_X_int'] = df3.groupby('LG')['X'].apply(pd.qcut, q=5)
df3['bins_Y_int'] = df3.groupby('LG')['Y'].apply(pd.qcut, q=5)
df3['bins_Z_int'] = df3.groupby('LG')['Z'].apply(pd.qcut, q=5)
df3.head()
Von dem ich die folgenden lookup_table erstellen möchten zu 4. Was ich brauche, ist das Beispiel lookup_table, das mit dem assoziierenden bin_intervals aus dem Dataframe ausgefüllt wurde.
Danke piR, eine Frage aber. Sie verwenden qcut noch einmal für diese neue Tabelle, liefert diese genau dasselbe Ergebnis wie in der ursprünglichen qcut, mit der ich den ursprünglichen Datenrahmen erstellt habe? – Zanshin
Eine andere Frage, vielleicht haben Sie nicht bemerkt, aber ich habe eine neue Frage hinzugefügt: http://stackoverflow.com/questions/42094873/incorrectre-results-when-applicing-solution-to-real-data, in Bezug auf die Verwendung Ihrer Lösung zu einer anderen Lösung. Kannst du es dir anschauen? – Zanshin
Ja! Das bedeutet, dass Sie die Nachschlagetabelle verwenden können, um den Rest von 'df3' auszufüllen. Du rufst es 6 mal an. Auf diese Weise müssen Sie es nur dreimal aufrufen. Ich werde weiter daran arbeiten, diesen Aspekt zu zeigen. – piRSquared