I have the following pandas DataFrame.

```
import pandas as pd
df = pd.read_csv('filename.csv')

print(df)

     dog      A         B           C
0     dog1    0.787575  0.159330    0.053095
1     dog10   0.770698  0.169487    0.059815
2     dog11   0.792689  0.152043    0.055268
3     dog12   0.785066  0.160361    0.054573
4     dog13   0.795455  0.150464    0.054081
5     dog14   0.794873  0.150700    0.054426
..    ....
8     dog19   0.811585  0.140207    0.048208
9     dog2    0.797202  0.152033    0.050765
10    dog20   0.801607  0.145137    0.053256
11    dog21   0.792689  0.152043    0.055268
    ....

```

I create a new column by summing columns `"A"`, `"B"`, `"C"` as follows:

```
df['total_ABC'] = df[["A", "B", "B"]].sum(axis=1)

```

Now I would like to do this based on a conditional, i.e. if `"A" < 0.78` then create a new summed column `df['smallA_sum'] = df[["A", "B", "B"]].sum(axis=1)`. Otherwise, the value should be zero.

How does one create conditional statements like this?

My thought would be to use

```
df['smallA_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if row['A'] < 0.78))

```

However, this doesn't work and I'm not able to specify axis.

How do you create a column based on the values of other columns?

You could also do something like for each `df['dog'] == 'dog2'`, create column `dog2_sum`, i.e.

```
 df['dog2_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if df['dog'] == 'dog2'))

```

but my approach is incorrect.