Мой фрейм данных выглядит следующим образом:
+----------+-----------+-------------+--------------+-----------+------------+----------+-----------+------------------+-------------------+--------+-----------------+--------------------+-----------------+------------------+-------------------------+
| GOD_prob | GOD_odd | market_prob | market_price | goat_prob | goat_price | mug_prob | mug_price | mug_payback_prob | mug_payback_price | is_won | GOD_brier_score | market_brier_score | mug_brier_score | goat_brier_score | mug_payback_brier_score |
+----------+-----------+-------------+--------------+-----------+------------+----------+-----------+------------------+-------------------+--------+-----------------+--------------------+-----------------+------------------+-------------------------+
| 0.31 | 3.225806 | 0.301941 | 3.311901 | 0.317631 | 3.148305 | 0.287306 | 3.480606 | 0.320741 | 3.117783 | 0 | 0.0961 | 0.091169 | 0.082545 | 0.100890 | 0.102875 |
| 0.19 | 5.263158 | 0.198653 | 5.033894 | 0.190179 | 5.258196 | 0.211225 | 4.734293 | 0.208422 | 4.797962 | 0 | 0.0361 | 0.039463 | 0.044616 | 0.036168 | 0.043440 |
| 0.02 | 50.000000 | 0.019226 | 52.013855 | 0.019889 | 50.280105 | 0.018166 | 55.048066 | 0.023553 | 42.457316 | 0 | 0.0004 | 0.000370 | 0.000330 | 0.000396 | 0.000555 |
| 0.55 | 1.818182 | 0.545992 | 1.831530 | 0.550391 | 1.816891 | 0.575588 | 1.737355 | 0.618493 | 1.616833 | 1 | 0.2025 | 0.206124 | 0.180126 | 0.202149 | 0.145548 |
| 0.33 | 3.030303 | 0.376325 | 2.657279 | 0.341564 | 2.927710 | 0.326000 | 3.067480 | 0.276040 | 3.622663 | 0 | 0.1089 | 0.141620 | 0.106276 | 0.116666 | 0.076198 |
+----------+-----------+-------------+--------------+-----------+------------+----------+-----------+------------------+-------------------+--------+-----------------+--------------------+-----------------+------------------+-------------------------+
Образцы данных:
GOD_prob,GOD_odd,market_prob,market_price,goat_prob,goat_price,mug_prob,mug_price,mug_payback_prob,mug_payback_price,is_won,GOD_brier_score,market_brier_score,mug_brier_score,goat_brier_score,mug_payback_brier_score
0.31,3.225806,0.301941,3.311901,0.317631,3.148305,0.287306,3.480606,0.320741,3.117783,0,0.0961,0.091169,0.082545,0.100890,0.102875
0.19,5.263158,0.198653,5.033894,0.190179,5.258196,0.211225,4.734293,0.208422,4.797962,0,0.0361,0.039463,0.044616,0.036168,0.043440
0.02,50.000000,0.019226,52.013855,0.019889,50.280105,0.018166,55.048066,0.023553,42.457316,0,0.0004,0.000370,0.000330,0.000396,0.000555
0.55,1.818182,0.545992,1.831530,0.550391,1.816891,0.575588,1.737355,0.618493,1.616833,1,0.2025,0.206124,0.180126,0.202149,0.145548
0.33,3.030303,0.376325,2.657279,0.341564,2.927710,0.326000,3.067480,0.276040,3.622663,0,0.1089,0.141620,0.106276,0.116666,0.076198
Я создал функцию для возврата значения на основе другого столбца, но мне нужна эта функцияиметь в аргументе имя столбца, поэтому мне не нужно писать аналогичную функцию для каждого столбца.Моя функция выглядит следующим образом:
def GOD_gross(row):
if row['is_won'] == 1:
return (row["GOD_odd"] - 1) * (-1)
else:
return 0
Который я затем применяю, используя это:
df["GOD_gross"] = df.apply(GOD_gross, axis=1)
Я в основном хочу сделать то же самое для столбцов "mug_price", "market_price" и "goat_price "без необходимости писать ту же функцию аналогичным образом (просто изменяя имена столбцов).
Спасибо!