I would like to replicate each row by the number of items in the 'Brand' column, and in the result table brand column would only have a single item, like this 
How to achieve this in Python? Thanks.
Try .explode:
df = df.assign(Brand=df.Brand.str.split(",")).explode("Brand")
print(df)
Prints:
Date Brand Cost
0 6/23/2021 A $100.0
0 6/23/2021 B $100.0
0 6/23/2021 C $100.0
1 6/23/2021 A $200.0
1 6/23/2021 B $200.0
2 6/23/2021 A $300.0
2 6/23/2021 B $300.0
2 6/23/2021 C $300.0
2 6/23/2021 D $300.0