I would recommend a car. Once you get 2 or 3 people, it’s by far the cheapest way to go. Also, it lets you keep your options open for when and where you want to go.
If you’re budget conscious, check out Rent-a-Wreck. I did a trip with my girlfriend a few years back from Calgary to Kelowna and we went with them. Was a good experience. The cars aren’t ‘wrecks’, they’re just not as nice as the average rental agency. You also don’t have to be 25 to get a normal rate, and the prices are very good.
There are apparently buses and trains. Though trains seem to operate only part of the way. Basically from Jasper to Edmonton. When it comes to Calgary I can only find buses (even on Via Rail)
From Jasper to Banff the same Rail Canada refers you to Red Arrow Bus Lines, which for whatever reasons doesn’t allow you to book Jasper->Banff trip online.
Of course there is always Greyhound Canada, which offers service to Jasper on Greyhound Express via Edmonton from Calgary or direct to Banff.
Credit:stackoverflow.com‘