У меня есть кадр данных со многими столбцами, которые мне нужно разделить на столбец для вычисления пропорций. Может ли кто-нибудь помочь с циклом for для этого? В приведенном ниже примере данных я хочу добавить столбцы c1p = c1/ct, c2p=c2/ct, c3p=c3/ct, c4p=c4/ct
.
id c1 c2 c3 c4 ct
1 6 8 8 12 34
2 5 3 11 6 25
3 3 9 6 12 30
4 14 10 10 3 37
Вот векторный подход для получения еще одного df_p
который содержит все df_p
значения единицы измерения:
df_p = df.filter(regex='c[0-9]').divide(df['ct'], axis=0)
Сила DataFrames заключается в том, что вы можете создавать столбцы по столбцам. Как это:
for i in range(1, 5):
df[f'c{i}p'] = df[f'[c{i}'] / df['ct']
for
петли для этого? Просто сделайте ссылку на столбцы данных и разделите их, чтобы получить векторизованный подход. Это толкает расчет в ноль и, вероятно, будет на несколько порядков быстрее.