Из математического аппарата кроме базовой арифметики для программирования ничего не нужно. Чтобы придумать, какой алгоритм использовать для решения той или иной задачи, важно структурное мышление - но это не математическая компетенция. Парадокс в том, что и развивать его нужно с помощью регулярной работы с задачами - важно быть готовым просидеть над "тривиальным заданием" несколько часов и не отчаяться.
Для анализа данных, помимо школьной математики, понадобятся знания математической статистики и теории вероятности. Начинающему специалисту важнее всего освоить базовые понятия: уметь проверять гипотезы, знать, что такое доверительные интервалы, чем отличаются медиана и мода, понимать, как обозначать события и их вероятности.
Внимание!
Нет смысла идти на платные курсы Python пока не разберетесь в бесплатных.
У языка много понятных приложений: его можно использовать для анализа данных и машинного обучения, бэкенда, веб-разработки, системного администрирования и игр. Конечно, при этом нужен разный набор навыков помимо программирования, но с Python можно начать осваивать почти любую предметную область.
В Python проще делать интерактивную и сложную визуализацию или проводить вычисления - для этого существуют библиотеки вроде Seaborn, matplot и Plotly. Для статистических расчетов можно использовать язык R, например люди с математическим образованием осваивают его быстрее, чем Python. Однако большинству будет проще начать с Python.
Вокруг Python сформировались сообщества энтузиастов, которые пишут на этом языке. Например, в Москве есть группа "Moscow Python", где проводят конференции и неформальные встречи и сотрудничают с крупными ИТ-компаниями.
По большому счету, если нужно что-то сделать на Python, то есть довольно хорошие шансы, что у кого-то это уже есть, и следовательно не нужно начинать проект с нуля.