Chevron Left
Back to Introduction to Data Science in Python

Learner Reviews & Feedback for Introduction to Data Science in Python by University of Michigan

23,865 ratings
5,355 reviews

About the Course

This course will introduce the learner to the basics of the python programming environment, including fundamental python programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. The course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and DataFrame as the central data structures for data analysis, along with tutorials on how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Network Analysis in Python....

Top reviews

May 9, 2020

The course had helped in understanding the concepts of NumPy and pandas. The assignments were so helpful to apply these concepts which provide an in-depth understanding of the Numpy as well as pandans

Mar 15, 2018

overall the good introductory course of python for data science but i feel it should have covered the basics in more details .specially for the ones who do not have any prior programming background .

Filter by:

276 - 300 of 5,276 Reviews for Introduction to Data Science in Python


Dec 5, 2019

The speed is too fast

By Riyanka M J

Aug 28, 2020

not good course

By mah v

Sep 25, 2020

It's boring.


Sep 2, 2020


By Aino J

Jan 6, 2020


This was a great course and I learnt a lot! Topics covered include a quick reminder on intermediate python and lots on pandas and some numpy. The weeks 3 and 4 assignments are quite challenging so expect to spend considerably more time than indicated on the course site if you're not experienced with python and pandas. This course is not for coding newbies.


I am proficient in R for data analysis and had dabbled with python before although had no experience with pandas. I was committed to learn the course material and to spend a substantial amount of time doing so. The speed of lectures is fast. I paused often to take notes and to try out the provided notebooks, and I returned to some of the videos when working on the assignments. I found the course assignments good and challenging. The lectures give a good tour of different functions and approaches you may want to use in the assignments, but there isn't much handholding with the assignments and you'll most likely spend quite of bit of time looking things up online in pandas docs and stackoverflow. If you're used to that and generally troubleshooting code, you'll probably be just fine. I spent much more time on the assignments than what is estimated on the site: ~5h for week 2 (vs 1.5h indicated), ~1 day for week 3 (vs 2h), and 2.5 days for week 4 (vs 4h).

Week 1 gives a refresher on how to write functions, list comprehensions, and lambdas in python. If you're familiar with writing loops and functions in other languages, with this material you will get to writing them in python quickly if you invest a bit of time and effort. If you're not yet at the level of confidently writing functions, loops and vectorized alternatives in python or another language, I'd recommend starting with a different, more basic course because the learning curve with this one might be too steep.

Week 2 gives the ins and outs of pandas including creating and querying pandas series and data frames.

Week 3 covers merging data frames, grouping (groupby) with aggregation (agg), applying functions rowwise (apply), and pivoting data (pivot_table) etc. It also gives a whirlwind tour of date/time manipulation using pandas. numpy is also included.

Week 4 has some lectures on distributions and more on numpy. The week consists mainly of the main project assignment where 50% of points are given on data cleaning and munging (contents of weeks 1-3) and the other 50% of points are on modelling and hypothesis testing. It's quite a proper project in the sense that you're given a number of non-clean data files scraped from different places and a hypothesis to test. There are some additional instructions on what format of cleaned data to produce from the different files and what type of test to perform, but for the rest you're on your own.

By Xavier L G

Nov 18, 2016

This course was excellent. This course deviates from many garbage MOOC who only work with quiz and can not provide a real python coding challenge experience. Assignements are really tough. But my sense of progress is real.(I have struggled to identify such feel in many pytyhon MOOC). Jupyter base for everythjng is a fantatsic format(it even allows coding mobility betwwen my station at work and my home station through the coding on jupyter in the cloud) . My feedback nevertheless will point to some aspect in my experience and where I think you can improve.

Succeeding the assignement does not mean that we identified the most elegant way to apply all the knowledge of the course(lambdas,list comprehension, grouping..., apply) in our coding. Breaking that barrier is not easy for me unless we are forced at it and so my looping mind is often applied in assignments. A real correction with the answer need to be provided(this is what the real classroom would do, we managed to get to the answer but we could still learn more with an assisted correction just like what the real classroom would do.I understand that you are worry that the model will end up as copy paste on a webpage and will kill your value. You could maybe consider this add_on for paid customers only and only provide it in picture way which can only be paper print and not so easily converted to webpage format.Or you need to find an alegant way to randomize the assignment coding test at each coursera session, which in that case would not bring any forgery issue and you could provide the correction at the end of the course(or after each assigment completed).

Videos are a bit too fast on concepts sometimes.

You could split the assigment in two formats: format where simple principle of the course are first resolved on jupyter notebook (just like the videos case but with more exercices) and complex dataframe case as second assignment .(but please reduce the amounts of case to only 1 or 2, not 3)

You could reduce dataframe case.(I've spend easily 40 hours on assigment here, assigment time is too heavy from my workload as a full time scientist. This needs some carefull tuning.

Overall Great Job

By Victor M S D

Jan 30, 2017

Very nice Course, You will Learn about how to effectively use Pandas Library for Python and how to treat DataFrames in that ambient, there are nice functions and methods for parsing. The Course is very fast pace, I only have time on the weekends (some of those), so I had to switch dates two times. Also, some materials are very fast, so If you are new in Python, got to be sure if you have mastered prior concepts of the course (Week 2 depends on week 1 and so on ...). A large part of the course involves your own research in Python Docs and StackOverFlow page. As I am an R user, some things are intuitive (and maybe more easier for me to do in R), several of the things in comparison I thought: "Wow, but this is so much easier on R", but at other times I saw the power of Python for parsing tasks or webdata that in the R require too much memory or are more complicated to obtain. R have the problem to treat everything like an object and guided by vectors, but at some parts that makes understand coding details more deeply, at least for me. I still think that the documentation of R the best there is for my purposes, so I will stick with that, but it's great to know how to develop some things in Python, mainly because of my goal of getting some applications to end users. Finally, not much related to the course, but maybe with the change in the platform of the Coursera, the forums seemed a little more confusing and a little more slower than former courses that I took, I think it might have to do with the same course running in parallel on different dates.

By Sebastian J

Jun 11, 2020

Superb course if you are over confident about python or want to destroy your confidence by trying to do assignments by yourself just after hearing the lectures but gave up . On the other hand if you spend time trying to develop the concepts not just with the contents or explanation in the lectures, went through forum discussion, asked queries after many failed attempts at the assignments and finally succeeded in completing the assignments then this course will boost your confidence like no other. The course needs to be restructured and the content needs to be revised to accommodate the effort so that the learners can actually learn by the time mentioned in the course description else a course prior to this will have to be introduced. Another approach would be to increase the explanation of the videos by focusing on the assignments, this could be done by increasing the number of weeks. I have elaborated so much because of all the negativity that's spreading around this course, it's really bad for the university, teachers, students and everyone related to the course, it could even jeopardize the name of Coursera, not exaggerating. So take this opinion not as the review of just one student but of all those who had given low ratings, gave bad reviews, gave medium reviews and from all those who didn't actually mentioned any good about the course, now all this combined would be quite a handsome number of people.

By Jakob B

Nov 19, 2018

Very valuable course for the fearless and stress-resistant. The scope and challenge level of the assignments is excellent. When you finally get the code right, you feel like you can solve any puzzle, because you can only get it right, when you completely understood why it's not giving the correct answer and you get those "Ohhh, that's what's wrong" moments all the time. So there is zero chance, that you will come out of this course having no idea what you actually learned. (Sadly a prevalent feeling at universities nowadays)

Apart from that, there is zero handholding and you MUST understand basic programming concepts. When even the course masters specifically tell you, that you will have to "google around" for that one vital code snippet, they mean it. This irritated me at first, because I expected a course on something to be self-contained (except the pre-conditional knowledge of stats and programming). But after completing it, I realized, that a big part of the professional programmer's workflow indeed does consist of googling for an answer on stackoverflow, since one and the same problem can be solved using a myriad of ways.

Big props to the creators of the assignments. Those were fire!

Best regards from Germany.

By Jiefei W

Mar 24, 2020

It helps to learn how to clean up datasets in Python. 5 stars for it.

Some information for who want to try this class:

a. The course introduction shows ~18 hrs to complete the course. As a person with limited experience in Python, and as a person who mainly use Excel to deal with datasets for a long time, it took maybe >30 hours: ~4 hours every day for a week, maybe more hours on weekends.

b. The course says an intermediate level. The time spent on lectures might be 1/10 ~1/5 of the time spent on assignments. In other words, self-learning is highly demanded.

c. The discussion forums are helpful. Read through them before starting doing assignments might save time.

Some expectations if the course material will be updated someday in the future:

a. Have a short video to clarify or explain the questions in the assignments. If there are some common questions in the forum over the past years, there are reasons for them. A bit more information might be needed, eg. a math definition for a concept.

b. The auto-grader is great, but it may not provide enough information on why the answer is wrong. For some of the common issues, the code for grading may be provided as material for a better understanding.

By Maria Z

Nov 29, 2020

It's a really good course for those who start working with data, but I must warn you that for those who has a beginner level in programming that can be a tough one. I really like the approach when you are given the basics and algorithms but you have to investigate the topic yourself to solve tasks - it's the most effective way to learn something. However I understand why some people may not like it.

I would like to mention the forum support - all the questions are solved very-very quickly, thanks a lot to the teachers!

The thing I didn't really like was the last assignment - 4 Qs out of 5 are the same... So if you manage to solve Q1 - others just require some boring data preparation, I understand that it happes in real life, but why here, it only takes time and annoys you?

I would recommend this course for those who has already worked with Python and knows all the basic classes and structures. If not - it's better to take some introductory course (it will be useful anyway, better to start with the fundamentals) .

PS: I really don't understand the comments here of people wh0 complain that they had to go to stackoverflow or read documentation - that's what you do when you code

By Vinod G

Nov 19, 2019

Excellent material. Admittedly I can see why there are so many negative reviews about the ambiguity of the assessed tasks. It won't be an easy course for anyone who is unfamiliar with programming. However, if you do have programming experience under your belt, you'll likely find this course strikes an excellent balance in terms of conciseness, practice, and theory. Each lecture is crafted carefully to teach you about some nuance of pandas or numpy, and the programming assignments are packed with coding questions that will help you revise what you have learned, in a very efficient way. There is very little "fluff" in this course, which is a major weakness I've seen in similar courses of its kind. Too much spoon feeding often does not challenge or engage the learner. The course is very direct about what it expects of its students. Every week there is a comment "This week's assignment requires more self-learning than the last". And true to its word, there is less and less hand-holding as you go further into the course. I thoroughly enjoyed the material and probably learned the most out of this course than any other course I've taken on Coursera, taking in to account its length.

By angelo p

Sep 17, 2017

I am a practicing engineer with over 15 years of experience.This course was definitely not for the faint of heart. While the lectures themselves were crisp and easy to follow, the homework assignments were truly a test of your patience and ability to think through the fundamentals. In all 4 weeks,I took way more than the predicted time to complete the assignments. I still gave the course a 5 because of what it taught me. I would never have learned so much had the assignments just been a rehash of the lecture examples. I applied the material to real world data analysis in my field with very good results. I could not have done the computations I did, if I had not taken the course seriously. There could be more clarity in the assignments especially in week 3 and week 4 but then that's the fun too - in real world data, there is no instructor to watch your back. So mistakes made during the course while frustrating for a working professional with limited time translate to better outcomes in actual work. I must also acknowledge Sophie Greene for her efforts to guide students to think through the problem statements.


Aug 24, 2020

Honestly, I have nothing to complain, but have 1 commentary to make: this course is hard. You will take way more time to complete the assignments than the time it is supposed to take and you'll probably take more time to watch the lessons also, since you have to pay a lot of attention + possibly rewatching. It is impossible to teach everything, there are too many tools and algorythms to learn, and I believe this course has the perfect balance between "I'll teach you this" and "go learn this yourself". Trying to do the assignments is where you'll get most of your knowledge. There are also "complementary readings" and "complementary listening" that add a lot to the content of the course as they discuss ethics/mindset and not only the the technical part of data science.

The help provided by the staff in the forums is amazing, nothing to complain.


*If you don't know how to program don't even try it, since only some necessary info about python is data science is taught in week 1 of the course. *

At the end, this is excellent. The 1 star reviews are mostly people complaining about the difficulty.

By Sophia L

May 2, 2020

I reallly love this course, even the auto grader did give me troubles, but also helped me understand the small discrepancies and details that i might have overlooked otherwise.

This course is the first course on Coursera that on a second study day I had alr decided to pay for the whole specialisation, as i did notice some other courses that do not provide much practical value.

I would like to specially thank Prof Brooks and all the other teaching / helping staff who reply the questions in forums. It was impressive when i saw some replies by staff that were just posted like an hour ago, which means the forum is very actively managed.

The whole course structure is well-designed with heavy workload (smile). Previously I read the golden book (which was also mentioned by Pro Brooks in the videos) for python analysis previously, but insufficient practice stopped me from progressing fast. The assignments and tasks build up our experience and confidence in python analysis.

Looking forward to an advanced python data science course / specialisation :)

By Julien M

Dec 9, 2016

This is a *very* good Python Pandas course that's part of a data science specialization that I wish existed 3-4 years ago when I first started using Pandas. As much as I like Wes McKinney's book "Python for Data Analysis", having an e-learning format mixing video lectures and hands-on assignments is a definite plus.

I've decided to take this class out of curiosity (and in order to get ideas about a class I'm about to teach), and even if I consider myself as an experienced pandas user (top5% on stackoverflow for [pandas]). I think it's pretty involved if you're new to pandas and covers pretty much every key concept of pandas you should (must?) be aware of. The assignments can certainly look very challenging to the newcomer, and they do a great job of looking like an actual project: messy data, multiple sources, etc.

I dearly recommend - and I have already started to personally recommend it - this course for anyone who's interested in learning more about data wrangling in pandas!

Thanks for putting this together!

By Christopher P L

Jul 10, 2020

(Background: college student in ChemE with basic Python programming experience. No pandas experience until this course.)

This course is very well designed. Videos cover a lot of material, but the Jupyter notebooks that accompany the video lectures are perfect. They're a nice little playground to experiment with different concepts brought up in videos (and from the many questions you will be asking on Stack Overflow). Assignments, while tricky to get correct due to an autograder, allow you to really practice what you have learned during the videos. I'm taking a Udemy course on Python right now and its level of student engagement (in terms of assignment availability, discussions, and extra reading material) comes nowhere close to this course.

Also, a huge shoutout to the teaching staff (Yusuf!) for their quick and helpful responsiveness. The forums for this class are very helpful, particularly for the assignments. I am thoroughly looking forward to the next course in this specialization.

By eshaan k

Feb 2, 2017

I certainly learnt a lot through this course. The hands on oriented approach of this course works wonders for those who intend to dig deeper and improve their Python programming. The lectures are crisp and clear, but the main learning happens while doing the weekly assignments. Each assignment forces us to go search for content beyond what has been taught in the lectures and in this process we find new things. Also, the lecturer informed us about some good reference books for individual learning. I look forward to taking part two of this course.

The mentors in the discussions forum are quite active and helpful. The forum was of big help to me for clearing the assignments. The only flaw I found was that the autograder does not clearly define our mistakes and that's where the mentors come in and explain in the discussion forum. This part could be better automated.

Finally, I believe that a prior introduction to Python programming is an essential prerequisite to this course.

By Tanya

Aug 21, 2020

There are a few negative reviews which have been given to the course due to the fact that it involves going through discussion forums and having to google a lot. Stories of how people gave up halfway. The videos being distracting and useless. I almost didn't take the course because of them.

I realise now, googling is actually the essence of coding. The videos of the course are not enough to pass the course or even understand the assignment. But that is how it is going to be in reality as well. No one expects you to remember syntaxes. You only need to be able to think up the logic, google your needs and hey presto - you'll have done the question in no time. It is going to require hardwork and patience, but the confidence you end up with is mind blowing. I am going to continue on to the next course in the specialisation. Wish you all the very best in your endeavours!

By Arpit G

Jul 2, 2020

This course gives the beginner an insight of data cleaning and using pandas from scratch. The assignments are well formatted and well prepared for the beginners to provide the basic details of using pandas and cleaning data. It also gives us a sight of the real world data that is how the data could be messed up and how by learning this course one can deal with the messed up data. Well this course was more an individual learning rather relying on video lectures but yes, while doing assignments one is fully prepared for cleaning data. So I would recommend everyone who wants to start with data science to go through this course and do assignments. As assignements taught me better than any of the videos or other materials could do. I would like to thanks Professor Christopher Brooks for making such a wonderful course on data science using Python !!

By Jeff C

Feb 28, 2017

The course was a very efficient intro to using Python to get data from various simple sources and the different structures that can be used to hold and manipulate the data. The course starts with the intuitive methods to solve problems and then introduces more complex and process friendly alternatives to demonstrate how creativity and knowledge of Python can be used to generate elegant and efficient code. The auto-grading of assignments can be a little maddening as the correct answer needs to be formatted precisely as is expected or else it will be counted as incorrect. The good thing here is that it forces you to fully understand the data types and data, the bad is it can be frustrating not knowing if the answer is wrong or just the format of the answer. Admittedly, I feel this effort forced me to become a better Python programmer.

By Haikal Y

Sep 13, 2020

This course is really good for getting your feet wet in Data Science! Foundational Data Science theories & techniques were introduced by Prof Brooks. It would be good if you had some foundational knowledge in Python so you can better navigate the course! (In the older version of the course, they assumed you knew RegEx - Regular Expressions & other nifty tricks like strip & split, but I saw that they'll be covering these in the newer version of the course, so a good introduction if you didn't know about these topics!). The course gives you the basic foundations, most of which are necessary to solve the course, but there are some methods & expressions that you'd have to Google for yourself. Similar to a college course, there isn't much hand-holding but still doable. In doubt, ask in the Discussions! The TA's are helpful :)

By Yusuf E

Mar 3, 2018

The assignments in this course are extremely challenging and almost unsolvable if not for the forum/stackoverflow help. Among the nine certificates I got on Coursera, this has to be the most difficult to obtain. It even surpasses getting and cleaning data or r programming in the Johns Hopkins Data Science specialization. Also, some more time on lambdas would really be appreciated given how important they seem to be in Pandas.

Having said that it was a real pleasure going through the assignments, repeatedly debugging them and getting to the answer finally. I have no complaints with the structure of the course or the contents. Given how easy the Python for Everybody specialization was this course was really refreshing. I hope for more of the same for the rest of the specialization.

By Haris N

Apr 27, 2020

I really enjoyed this course. The material was a bit sparse but the assignments were very well done, even though I've seen lots of people complaining about them. It is true that this course isn't beginner level and someone with zero programming skills will struggle, but since the specialization homepage mentions that the courses are 'Intermediate' I don't think that should come as a surprise.

The assignments were challenging but not challenging enough to be frustrating. One habit the course has inculcated in me is to refer to the documentation and build my own solutions rather than blindly referring to stack overflow.

All in all, a good course for someone already proficient in Python looking to develop expertise in Pandas. Not recommended for a complete novice though.

By Rajendra K

May 9, 2017

An excellent course, which requires more self learning than what is taught. I extended the course and completed the final assignment in a week. The assignments involving data cleaning actually helps a budding data scientist. Documentation, Stack Overflow for assignments is a must which can boost your understanding not just for this course but for a lot more. My personal satisfaction about this course is mainly stackoverflow part which helped me to understand the lectures weeks ahead. But application of the concepts on assignments is a difficult one which can only be mastered after practice. Thanks to all mentors, especially "Sophie Greene" whom I followed a lot. Her debugs, algos and code checks have actually helped me to understand both python and Pandas better.