Chevron Left
Back to Introduction to Data Science in Python

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

4.5
stars
20,550 ratings
4,610 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

PK

May 10, 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

SI

Mar 16, 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:

176 - 200 of 4,545 Reviews for Introduction to Data Science in Python

By haozhen6

Aug 27, 2017

Vedio is useless, I only need to go through the code.

By Alireza H

Nov 10, 2019

the teaching pace is very fast and not so clear.

By Brics C

Oct 28, 2019

Gap between lecture and assignment is too high.

By james c

May 01, 2019

Disconnected, too broad, could have been great.

By Wei L

Jul 16, 2020

Introduction to searching Stackoverflow

By Justin.Sun

Nov 02, 2018

Worst class ever! The instructor sucks!

By Shivani A

Sep 24, 2019

Not exactly benefited.Too fast

By Qi X

Jan 31, 2019

autograding system is terrible

By Bugra S

Jan 02, 2018

assigments are not clear

By NITIN K S

Dec 05, 2019

The speed is too fast

By Aino J

Jan 06, 2020

IN SHORT

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.

IN DETAIL

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 LE G X

Nov 19, 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 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 18, 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.

By Li Y

May 02, 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 09, 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 02, 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 Arpit G

Jul 02, 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 Yusuf E

Mar 03, 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.