Сначала нужно определить ячейки и метки -
bins = [0, 1, 10, 100, float("inf")]
labels = ['l1', 'l2', 'l3', 'l4', 'l5']
Затем используйте pd.cut()
-
pd.cut(df1['A'], bins, right=False)
В pd.cut()
есть параметр labels
, который можно использовать для получения меток -
pd.cut(df1['A'], bins, labels=labels, right=False)
Вы можете использовать bins
, сгенерированный для вычисления вероятностей. Я оставляю это на ваше усмотрение.
Вы можете сделать это для остальной части dfs
в цикле и, наконец, назначить их списку -
list_dfs = [df1, df2, ...]
Если у вас динамическое число dfs
, используйте цикл -
Framework
for df in dfs:
df['bins'] = pd.cut(df['A'], bins, right=False)
df['label'] = pd.cut(df['A'], bins, labels=labels, right=False)