title
Python Pandas Tutorial (Part 2): DataFrame and Series Basics - Selecting Rows and Columns

description
In this video, we will be learning about the Pandas DataFrame and Series objects. This video is sponsored by Brilliant. Go to https://brilliant.org/cms to sign up for free. Be one of the first 200 people to sign up with this link and get 20% off your premium subscription. In this Python Programming video, we will be learning about the DataFrame and Series objects. These are the backbone of Pandas and are fundamental to the library. DataFrames can be thought of as rows and columns, while a Series can be thought of as just a single column of rows. We'll also learn the basic navigation of these datatypes by learning how to select specific rows and columns. Let's get started... The code for this video can be found at: http://bit.ly/Pandas-02 StackOverflow Survey Download Page - http://bit.ly/SO-Survey-Download ✅ Support My Channel Through Patreon: https://www.patreon.com/coreyms ✅ Become a Channel Member: https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g/join ✅ One-Time Contribution Through PayPal: https://goo.gl/649HFY ✅ Cryptocurrency Donations: Bitcoin Wallet - 3MPH8oY2EAgbLVy7RBMinwcBntggi7qeG3 Ethereum Wallet - 0x151649418616068fB46C3598083817101d3bCD33 Litecoin Wallet - MPvEBY5fxGkmPQgocfJbxP6EmTo5UUXMot ✅ Corey's Public Amazon Wishlist http://a.co/inIyro1 ✅ Equipment I Use and Books I Recommend: https://www.amazon.com/shop/coreyschafer ▶️ You Can Find Me On: My Website - http://coreyms.com/ My Second Channel - https://www.youtube.com/c/coreymschafer Facebook - https://www.facebook.com/CoreyMSchafer Twitter - https://twitter.com/CoreyMSchafer Instagram - https://www.instagram.com/coreymschafer/ #Python #Pandas

detail
{'title': 'Python Pandas Tutorial (Part 2): DataFrame and Series Basics - Selecting Rows and Columns', 'heatmap': [{'end': 221.675, 'start': 201.518, 'weight': 0.754}, {'end': 464.74, 'start': 442.428, 'weight': 0.749}, {'end': 992.735, 'start': 923.436, 'weight': 0.956}, {'end': 1072.061, 'start': 1045.945, 'weight': 0.719}, {'end': 1152.076, 'start': 1126.975, 'weight': 0.831}, {'end': 1213.265, 'start': 1186.084, 'weight': 0.761}, {'end': 1431.133, 'start': 1408.781, 'weight': 0.772}, {'end': 1680.208, 'start': 1624.62, 'weight': 0.714}], 'summary': 'This python pandas tutorial video covers the fundamentals of pandas, including data frame and series data types, demonstrating their use in reading and displaying csv files, accessing information, retrieving specific rows and columns, and introducing brilliant.org as a sponsor.', 'chapters': [{'end': 42.464, 'segs': [{'end': 42.464, 'src': 'embed', 'start': 0.149, 'weight': 0, 'content': [{'end': 1.19, 'text': "Hey there, how's it going everybody?", 'start': 0.149, 'duration': 1.041}, {'end': 4.713, 'text': "In this video, we're going to continue learning more about pandas and, specifically,", 'start': 1.53, 'duration': 3.183}, {'end': 7.876, 'text': "we're going to be learning about the data frame and series data types.", 'start': 4.713, 'duration': 3.163}, {'end': 15.903, 'text': "So like I said in the last video, these are basically the backbone of pandas and are the two primary data types that you'll likely be using the most.", 'start': 8.256, 'duration': 7.647}, {'end': 21.868, 'text': "So in this video we're going to go over how we can think of data frames and series data types in a different way,", 'start': 16.323, 'duration': 5.545}, {'end': 25.831, 'text': "and then we'll look at the basics of getting information from these data types.", 'start': 22.388, 'duration': 3.443}, {'end': 30.454, 'text': 'Now I would like to mention that we do have a sponsor for this series of videos and that is Brilliant.org.', 'start': 26.191, 'duration': 4.263}, {'end': 37.6, 'text': 'So I really want to thank Brilliant for sponsoring the series and it would be great if you all can check them out using the link in the description section below and support the sponsors.', 'start': 30.775, 'duration': 6.825}, {'end': 40.002, 'text': "And I'll talk more about their services in just a bit.", 'start': 37.98, 'duration': 2.022}, {'end': 42.464, 'text': "So with that said, let's go ahead and get started.", 'start': 40.422, 'duration': 2.042}], 'summary': 'Learning about pandas data frame and series types, sponsored by brilliant.org.', 'duration': 42.315, 'max_score': 0.149, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4149.jpg'}], 'start': 0.149, 'title': 'Pandas data types overview', 'summary': 'Explores the fundamentals of pandas, focusing on the data frame and series data types, which are essential components of pandas, and introduces brilliant.org as the sponsor.', 'chapters': [{'end': 42.464, 'start': 0.149, 'title': 'Pandas data types overview', 'summary': 'Explores the fundamentals of pandas, focusing on the data frame and series data types, which are essential components of pandas, and introduces brilliant.org as the sponsor.', 'duration': 42.315, 'highlights': ['The data frame and series data types are the backbone of pandas and are the primary data types used the most.', 'The chapter introduces Brilliant.org as the sponsor for the series of videos, encouraging viewers to check them out using the link in the description section below.', 'The video will cover how to think of data frames and series data types differently and the basics of obtaining information from these data types.']}], 'duration': 42.315, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4149.jpg', 'highlights': ['The data frame and series data types are the backbone of pandas and are the primary data types used the most.', 'The video will cover how to think of data frames and series data types differently and the basics of obtaining information from these data types.', 'The chapter introduces Brilliant.org as the sponsor for the series of videos, encouraging viewers to check them out using the link in the description section below.']}, {'end': 492.906, 'segs': [{'end': 110.662, 'src': 'embed', 'start': 43.004, 'weight': 0, 'content': [{'end': 51.432, 'text': "Okay, so first, let's look at what a data frame is, and then we'll learn more about how we can think about this in terms of a Python object.", 'start': 43.004, 'duration': 8.428}, {'end': 57.698, 'text': 'So we saw data frames briefly in our last video, when we check to make sure that our data was loaded in correctly.', 'start': 51.812, 'duration': 5.886}, {'end': 64.964, 'text': 'So these were the objects that were displayed in Jupyter as rows and columns, basically a table.', 'start': 58.138, 'duration': 6.826}, {'end': 67.426, 'text': "So let's take a look at what this looks like.", 'start': 65.343, 'duration': 2.083}, {'end': 74.791, 'text': 'So if you were following along with the last video, this is basically the same Jupyter notebook that I had before,', 'start': 67.766, 'duration': 7.025}, {'end': 76.233, 'text': 'except this is just cleaned up a bit.', 'start': 74.791, 'duration': 1.442}, {'end': 78.214, 'text': "So we're importing pandas here.", 'start': 76.713, 'duration': 1.501}, {'end': 81.437, 'text': 'We are reading in our CSV files.', 'start': 78.895, 'duration': 2.542}, {'end': 85.4, 'text': 'So one is just our main data frame for our survey results.', 'start': 81.617, 'duration': 3.783}, {'end': 89.684, 'text': 'One is our schema data frame for the schema results.', 'start': 86.341, 'duration': 3.343}, {'end': 95.35, 'text': 'And then we are setting some options here, where we have the max column set to 85,', 'start': 90.325, 'duration': 5.025}, {'end': 100.596, 'text': 'so we can see all the columns and the max row set to 85 so that we can see all of the schema.', 'start': 95.35, 'duration': 5.246}, {'end': 103.758, 'text': "now, if you haven't been following along with the video so far,", 'start': 100.956, 'duration': 2.802}, {'end': 110.662, 'text': 'then i do have a link in the description section below that links to where you can download this data data and follow along with this.', 'start': 103.758, 'duration': 6.904}], 'summary': 'Introduction to data frames and importing csv files using pandas in python.', 'duration': 67.658, 'max_score': 43.004, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF443004.jpg'}, {'end': 232.226, 'src': 'heatmap', 'start': 201.518, 'weight': 4, 'content': [{'end': 207.142, 'text': "Well, for those of you familiar with dictionaries, you might think that it's a good idea to store information that way.", 'start': 201.518, 'duration': 5.624}, {'end': 212.286, 'text': 'So let me pull up a new notebook here that I have open here with some snippets.', 'start': 207.542, 'duration': 4.744}, {'end': 213.948, 'text': "And let's take a look at this.", 'start': 212.746, 'duration': 1.202}, {'end': 216.39, 'text': "Okay, so let's look at this first cell here.", 'start': 214.368, 'duration': 2.022}, {'end': 221.675, 'text': 'So a lot of us are probably familiar with Python dictionaries where we have keys and values.', 'start': 216.81, 'duration': 4.865}, {'end': 227.702, 'text': "So if I'm representing some data, in this example, it's a person, then we can use a dictionary.", 'start': 222.056, 'duration': 5.646}, {'end': 232.226, 'text': 'So first off, I have a key of first, which is going to be the first name.', 'start': 228.122, 'duration': 4.104}], 'summary': 'Storing data using python dictionaries with keys and values.', 'duration': 30.708, 'max_score': 201.518, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4201518.jpg'}, {'end': 365.736, 'src': 'embed', 'start': 336.918, 'weight': 3, 'content': [{'end': 340.541, 'text': 'Now, if you look up the definition of a pandas data frame online,', 'start': 336.918, 'duration': 3.623}, {'end': 346.145, 'text': "then you'll see a lot of definitions that just say something like it's a two dimensional data structure.", 'start': 340.541, 'duration': 5.604}, {'end': 351.589, 'text': "Now, that might sound a little confusing, but in layman's terms, that basically just means rows and columns.", 'start': 346.505, 'duration': 5.084}, {'end': 356.873, 'text': 'OK, so like I said here, the key for email here would be our email column.', 'start': 351.969, 'duration': 4.904}, {'end': 360.154, 'text': 'and contain all of the email values.', 'start': 357.473, 'duration': 2.681}, {'end': 365.736, 'text': 'And if we wanted to see the email column, then we can just access that key.', 'start': 360.534, 'duration': 5.202}], 'summary': 'Pandas data frame is a 2d structure with rows and columns, allowing access to specific values.', 'duration': 28.818, 'max_score': 336.918, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4336918.jpg'}, {'end': 431.541, 'src': 'embed', 'start': 401.644, 'weight': 5, 'content': [{'end': 405.986, 'text': 'Now we can actually create a data frame from this dictionary and see what this looks like.', 'start': 401.644, 'duration': 4.342}, {'end': 410.209, 'text': "So let's do that and look at some basic data frame functionality.", 'start': 406.447, 'duration': 3.762}, {'end': 414.591, 'text': "And then we'll look at this more using the stack overflow data from the last video.", 'start': 410.529, 'duration': 4.062}, {'end': 422.876, 'text': "So here in this bottom cell, in order to create a data frame from the information that we have here, I'm going to go ahead and import pandas.", 'start': 415.051, 'duration': 7.825}, {'end': 431.541, 'text': "So I'm going to say import pandas as And now we can create a data frame actually using this dictionary that we have up here.", 'start': 422.896, 'duration': 8.645}], 'summary': 'Create data frame from dictionary, explore functionality, use stack overflow data.', 'duration': 29.897, 'max_score': 401.644, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4401644.jpg'}, {'end': 468.861, 'src': 'heatmap', 'start': 442.428, 'weight': 0.749, 'content': [{'end': 448.631, 'text': "And then we'll just pass in that dictionary that has values as list.", 'start': 442.428, 'duration': 6.203}, {'end': 453.234, 'text': 'So if I run this, and that seemed to run okay without any errors.', 'start': 449.092, 'duration': 4.142}, {'end': 455.815, 'text': 'And now let me just print out DF here.', 'start': 453.554, 'duration': 2.261}, {'end': 457.396, 'text': 'And if I print that out,', 'start': 456.135, 'duration': 1.261}, {'end': 464.74, 'text': 'then we can see that now our data frame is representing this in a way to where we do have rows and columns that we can visualize.', 'start': 457.396, 'duration': 7.344}, {'end': 468.861, 'text': 'So we get these people printed out in a nice table of rows and columns.', 'start': 465.16, 'duration': 3.701}], 'summary': 'A dictionary with list values is used to create a data frame, which can now be visualized as rows and columns.', 'duration': 26.433, 'max_score': 442.428, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4442428.jpg'}], 'start': 43.004, 'title': 'Data frames in python and pandas', 'summary': 'Introduces data frames in python, explaining their use as objects and demonstrating their application in reading and displaying csv files, with specific settings for column and row visibility. it also explains the concept of data frames in pandas, illustrating how it represents rows and columns using a dictionary in python and demonstrates creating a data frame from the dictionary, visually representing the data in a table format.', 'chapters': [{'end': 110.662, 'start': 43.004, 'title': 'Understanding data frames in python', 'summary': 'Introduces data frames in python, explaining their use as objects and demonstrating their application in reading and displaying csv files, with specific settings for column and row visibility.', 'duration': 67.658, 'highlights': ['Data frames are introduced, demonstrating their use as objects in Python and their display as tables in Jupyter.', 'Specific settings for column and row visibility are applied to ensure complete display of data and schema results, with max column and max row set to 85.', 'The process of reading and importing CSV files is demonstrated, with two data frames created for survey results and schema results.']}, {'end': 492.906, 'start': 110.662, 'title': 'Understanding pandas data frames', 'summary': 'Explains the concept of data frames in pandas, illustrating how it represents rows and columns using a dictionary in python and demonstrates creating a data frame from the dictionary, visually representing the data in a table format.', 'duration': 382.244, 'highlights': ['A data frame in pandas represents multiple rows and columns, with each row typically representing survey results, and each column representing a question or category.', 'Using a dictionary in Python, the concept of representing data for multiple people is illustrated by using lists as values in the dictionary, simulating the structure of rows and columns in a data frame.', 'Creation of a data frame from the dictionary is demonstrated, visually representing the data in a tabular format with rows and columns.']}], 'duration': 449.902, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF443004.jpg', 'highlights': ['Data frames are introduced, demonstrating their use as objects in Python and their display as tables in Jupyter.', 'Specific settings for column and row visibility are applied to ensure complete display of data and schema results, with max column and max row set to 85.', 'The process of reading and importing CSV files is demonstrated, with two data frames created for survey results and schema results.', 'A data frame in pandas represents multiple rows and columns, with each row typically representing survey results, and each column representing a question or category.', 'Using a dictionary in Python, the concept of representing data for multiple people is illustrated by using lists as values in the dictionary, simulating the structure of rows and columns in a data frame.', 'Creation of a data frame from the dictionary is demonstrated, visually representing the data in a tabular format with rows and columns.']}, {'end': 869.798, 'segs': [{'end': 523.854, 'src': 'embed', 'start': 493.346, 'weight': 3, 'content': [{'end': 501.188, 'text': "So now that we have a bit of an idea of how to think about data frames, now let's take a look at how to access information here within the data frame.", 'start': 493.346, 'duration': 7.842}, {'end': 505.549, 'text': "So first, let's just access the values of a single column.", 'start': 501.628, 'duration': 3.921}, {'end': 513.711, 'text': 'So just like we did with the dictionary, we can access a single column just like we were accessing the key of a dictionary.', 'start': 505.929, 'duration': 7.782}, {'end': 523.854, 'text': 'So just like I did people and email up here, I can do very similar down here and just say that I want that email column of my data frame.', 'start': 514.111, 'duration': 9.743}], 'summary': 'Learn to access data frames and single column values.', 'duration': 30.508, 'max_score': 493.346, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4493346.jpg'}, {'end': 558.717, 'src': 'embed', 'start': 534.581, 'weight': 4, 'content': [{'end': 542.966, 'text': 'So again, I do want to emphasize that I only use the pure Python example so that we could get an idea of how to think about a data frame.', 'start': 534.581, 'duration': 8.385}, {'end': 547.769, 'text': 'But like I said, a data frame is much, much more than just a dictionary of lists.', 'start': 543.286, 'duration': 4.483}, {'end': 552.893, 'text': 'So, for example, we can see that when we displayed the email column here,', 'start': 548.269, 'duration': 4.624}, {'end': 558.717, 'text': "it doesn't look the same as when we displayed the list of values from that dictionary.", 'start': 552.893, 'duration': 5.824}], 'summary': 'Python example shows data frame is more than a dictionary of lists.', 'duration': 24.136, 'max_score': 534.581, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4534581.jpg'}, {'end': 628.735, 'src': 'embed', 'start': 605.922, 'weight': 0, 'content': [{'end': 614.805, 'text': 'So again, you can think of a data frame as being rows and columns and a series as being rows of a single column.', 'start': 605.922, 'duration': 8.883}, {'end': 621.089, 'text': 'So a data frame is basically a container for multiple of these series objects.', 'start': 615.405, 'duration': 5.684}, {'end': 622.711, 'text': "So again, that's important.", 'start': 621.55, 'duration': 1.161}, {'end': 624.152, 'text': 'So let me go over that one more time.', 'start': 622.731, 'duration': 1.421}, {'end': 628.735, 'text': 'So we can see that a data frame here is two dimensional because it has rows and columns.', 'start': 624.552, 'duration': 4.183}], 'summary': 'Data frame: rows, columns; series: single column. data frame is 2d.', 'duration': 22.813, 'max_score': 605.922, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4605922.jpg'}, {'end': 742.514, 'src': 'embed', 'start': 716.201, 'weight': 2, 'content': [{'end': 720.183, 'text': 'And there are a couple of reasons that I prefer to use that over dot notation.', 'start': 716.201, 'duration': 3.982}, {'end': 731.669, 'text': "First is that I like using the brackets because there's a chance that one of your columns is named the same thing as one of the attributes or methods of a data frame.", 'start': 721.043, 'duration': 10.626}, {'end': 736.291, 'text': "And if that's the case, then using the dot notation might give you some errors.", 'start': 732.149, 'duration': 4.142}, {'end': 742.514, 'text': 'So for example, if a data frame, a data frame has a method called count.', 'start': 736.931, 'duration': 5.583}], 'summary': 'Prefer using brackets over dot notation to avoid potential errors with column names and methods in data frames.', 'duration': 26.313, 'max_score': 716.201, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4716201.jpg'}, {'end': 838.046, 'src': 'embed', 'start': 809.023, 'weight': 1, 'content': [{'end': 811.925, 'text': "So let's say that we wanted to access multiple columns.", 'start': 809.023, 'duration': 2.902}, {'end': 819.51, 'text': 'Now, in order to access multiple columns, we can use the bracket notation and pass in a list of the columns that we want.', 'start': 812.345, 'duration': 7.165}, {'end': 828.536, 'text': 'So if I wanted both the last name and email columns, then we could say DF and use our brackets just like we saw before.', 'start': 819.93, 'duration': 8.606}, {'end': 834.642, 'text': "But now I'm going to put in a set of inner brackets here as a list of columns that I want to access.", 'start': 828.976, 'duration': 5.666}, {'end': 838.046, 'text': "So for the first value, I'll put last for the last name.", 'start': 835.042, 'duration': 3.004}], 'summary': 'Access multiple columns using bracket notation and list of columns in a dataframe.', 'duration': 29.023, 'max_score': 809.023, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4809023.jpg'}], 'start': 493.346, 'title': 'Accessing information and understanding pandas', 'summary': 'Covers accessing information within a data frame, including how to access values of a single column and the type of object returned. it also introduces the concept of pandas series and data frames, explaining their relationship, functionality, and methods for accessing columns.', 'chapters': [{'end': 581.054, 'start': 493.346, 'title': 'Accessing information in data frames', 'summary': 'Covers accessing information within a data frame, including how to access values of a single column and the type of object returned, emphasizing that a data frame is more than just a dictionary of lists.', 'duration': 87.708, 'highlights': ['The chapter covers accessing information within a data frame', 'Emphasizing that a data frame is more than just a dictionary of lists']}, {'end': 869.798, 'start': 581.514, 'title': 'Understanding pandas series and data frames', 'summary': 'Introduces the concept of pandas series and data frames, explaining their relationship, functionality, and methods for accessing columns, emphasizing the preference for brackets over dot notation due to potential naming conflicts, and demonstrating how to access multiple columns using the bracket notation.', 'duration': 288.284, 'highlights': ['The chapter explains the relationship between pandas Series and Data Frames, where a Series is described as rows of a single column within a Data Frame, and a Data Frame is a container for multiple Series objects.', 'The preference for using brackets over dot notation is emphasized due to the possibility of naming conflicts between column names and attributes or methods of a Data Frame.', 'The method for accessing multiple columns using the bracket notation is demonstrated by passing in a list of desired columns, ensuring the use of inner brackets to avoid key errors.']}], 'duration': 376.452, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4493346.jpg', 'highlights': ['The chapter explains the relationship between pandas Series and Data Frames, where a Series is described as rows of a single column within a Data Frame, and a Data Frame is a container for multiple Series objects.', 'The method for accessing multiple columns using the bracket notation is demonstrated by passing in a list of desired columns, ensuring the use of inner brackets to avoid key errors.', 'The preference for using brackets over dot notation is emphasized due to the possibility of naming conflicts between column names and attributes or methods of a Data Frame.', 'The chapter covers accessing information within a data frame', 'Emphasizing that a data frame is more than just a dictionary of lists']}, {'end': 1562.792, 'segs': [{'end': 893.017, 'src': 'embed', 'start': 869.798, 'weight': 1, 'content': [{'end': 878.846, 'text': "and another thing that i want to point out here is that now that we're getting multiple columns, this can no longer be a series because, remember,", 'start': 869.798, 'duration': 9.048}, {'end': 883.009, 'text': 'a series is basically a single column of rows.', 'start': 878.846, 'duration': 4.163}, {'end': 887.953, 'text': "so when we get multiple columns like this, it's just returning another data frame,", 'start': 883.009, 'duration': 4.944}, {'end': 893.017, 'text': "and in this case it's a filtered down data frame with just these specific columns.", 'start': 887.953, 'duration': 5.064}], 'summary': 'Getting multiple columns converts a series into a filtered data frame.', 'duration': 23.219, 'max_score': 869.798, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4869798.jpg'}, {'end': 992.735, 'src': 'heatmap', 'start': 923.436, 'weight': 0.956, 'content': [{'end': 929.42, 'text': 'and we can run this and we can see here that this gives us all of our columns here.', 'start': 923.436, 'duration': 5.984}, {'end': 934.064, 'text': 'so our columns are an index of first, last and email.', 'start': 929.42, 'duration': 4.644}, {'end': 938.607, 'text': "okay. so now we've seen how to get a column, but how would we get a row?", 'start': 934.064, 'duration': 4.543}, {'end': 943.731, 'text': 'so in order to get rows, we can use the loc and iloc indexers.', 'start': 938.607, 'duration': 5.124}, {'end': 946.554, 'text': 'so that is loc and iloc.', 'start': 943.731, 'duration': 2.823}, {'end': 948.955, 'text': "So let's take a look at these.", 'start': 947.394, 'duration': 1.561}, {'end': 952.218, 'text': "So first, let's take a look at iloc.", 'start': 949.316, 'duration': 2.902}, {'end': 957.341, 'text': 'So iloc allows us to access rows by integer location, hence the name.', 'start': 952.758, 'duration': 4.583}, {'end': 959.403, 'text': 'iloc is integer location.', 'start': 957.682, 'duration': 1.721}, {'end': 967.589, 'text': 'So if I wanted to get the first row, then we can just say df.iloc and then use brackets here.', 'start': 959.943, 'duration': 7.646}, {'end': 975.111, 'text': 'to, since this is an indexer, use brackets and pass in a zero, and that will give us the first row.', 'start': 968.169, 'duration': 6.942}, {'end': 984.693, 'text': 'So if I run this, then we can see that the first row has a first name of Cory, last name of Schaefer, and email of corymschaefer at gmail.com.', 'start': 975.511, 'duration': 9.182}, {'end': 992.735, 'text': 'So what that did is it returns a series that contains the values of that first row of data which, like I said, is the first name,', 'start': 985.033, 'duration': 7.702}], 'summary': 'Demonstrating how to access rows using iloc indexer to retrieve specific data by integer location.', 'duration': 69.299, 'max_score': 923.436, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4923436.jpg'}, {'end': 967.589, 'src': 'embed', 'start': 938.607, 'weight': 0, 'content': [{'end': 943.731, 'text': 'so in order to get rows, we can use the loc and iloc indexers.', 'start': 938.607, 'duration': 5.124}, {'end': 946.554, 'text': 'so that is loc and iloc.', 'start': 943.731, 'duration': 2.823}, {'end': 948.955, 'text': "So let's take a look at these.", 'start': 947.394, 'duration': 1.561}, {'end': 952.218, 'text': "So first, let's take a look at iloc.", 'start': 949.316, 'duration': 2.902}, {'end': 957.341, 'text': 'So iloc allows us to access rows by integer location, hence the name.', 'start': 952.758, 'duration': 4.583}, {'end': 959.403, 'text': 'iloc is integer location.', 'start': 957.682, 'duration': 1.721}, {'end': 967.589, 'text': 'So if I wanted to get the first row, then we can just say df.iloc and then use brackets here.', 'start': 959.943, 'duration': 7.646}], 'summary': 'Using loc and iloc indexers to access rows by integer location.', 'duration': 28.982, 'max_score': 938.607, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4938607.jpg'}, {'end': 1077.243, 'src': 'heatmap', 'start': 1045.945, 'weight': 0.719, 'content': [{'end': 1049.309, 'text': "And I'm just going to pass in a list of 0 and 1.", 'start': 1045.945, 'duration': 3.364}, {'end': 1054.032, 'text': 'So if I run this, then we can see that now we get the first two rows of data.', 'start': 1049.309, 'duration': 4.723}, {'end': 1060.478, 'text': 'And again, be sure to pass in an inner list inside those brackets so that it does what you expect it to do.', 'start': 1054.473, 'duration': 6.005}, {'end': 1065.739, 'text': "And also we can see that now we're getting a data frame with these multiple rows.", 'start': 1061.278, 'duration': 4.461}, {'end': 1072.061, 'text': 'Now with these iloc and loc indexers, we can also select columns as well.', 'start': 1066.26, 'duration': 5.801}, {'end': 1077.243, 'text': 'And that is going to be the second value that we pass into these outer brackets.', 'start': 1072.541, 'duration': 4.702}], 'summary': 'Demonstrated indexing and selecting columns using iloc and loc indexers.', 'duration': 31.298, 'max_score': 1045.945, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41045944.jpg'}, {'end': 1158.645, 'src': 'heatmap', 'start': 1126.975, 'weight': 0.831, 'content': [{'end': 1128.696, 'text': 'since all of these start at zero.', 'start': 1126.975, 'duration': 1.721}, {'end': 1136.999, 'text': 'So if I was to pass in a two here and run that, then we can see that now we get the email addresses of these first two rows.', 'start': 1129.096, 'duration': 7.903}, {'end': 1138.68, 'text': "Okay, so that's iloc.", 'start': 1137.42, 'duration': 1.26}, {'end': 1140.581, 'text': "So now let's look at loc.", 'start': 1139.02, 'duration': 1.561}, {'end': 1144.446, 'text': 'So with iloc, we were searching by integer location.', 'start': 1141.141, 'duration': 3.305}, {'end': 1147.85, 'text': "With loc, we're going to be searching by label.", 'start': 1144.906, 'duration': 2.944}, {'end': 1152.076, 'text': "And when we're talking about labels for rows, these will be the indexes.", 'start': 1148.311, 'duration': 3.765}, {'end': 1154.92, 'text': "And again, we don't have custom indexes right now.", 'start': 1152.556, 'duration': 2.364}, {'end': 1158.645, 'text': 'So this index is just a default range of integers.', 'start': 1155.34, 'duration': 3.305}], 'summary': 'Using iloc and loc to access specific rows by integer location or label, respectively.', 'duration': 31.67, 'max_score': 1126.975, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41126975.jpg'}, {'end': 1213.265, 'src': 'heatmap', 'start': 1186.084, 'weight': 0.761, 'content': [{'end': 1190.888, 'text': 'So if I want the first row, then by default, this just has a label of zero.', 'start': 1186.084, 'duration': 4.804}, {'end': 1195.792, 'text': 'So I can say df.loc and pass in a zero there.', 'start': 1191.188, 'duration': 4.604}, {'end': 1200.156, 'text': 'And if I run that, then we can see that we get that row with that label of zero.', 'start': 1196.072, 'duration': 4.084}, {'end': 1207.102, 'text': "And again, I know that that looks similar to iloc at the moment, but we'll see how to use indexes with labels in the next video.", 'start': 1200.516, 'duration': 6.586}, {'end': 1213.265, 'text': 'And just like with iloc, we can also pass in a list to specify multiple rows.', 'start': 1207.942, 'duration': 5.323}], 'summary': 'Using df.loc to access rows by label, df.loc[0] returns first row.', 'duration': 27.181, 'max_score': 1186.084, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41186084.jpg'}, {'end': 1257.944, 'src': 'embed', 'start': 1235.255, 'weight': 2, 'content': [{'end': 1243.518, 'text': 'And just like with iloc, We can also pass in a second value into our indexer to select specific columns for these rows.', 'start': 1235.255, 'duration': 8.263}, {'end': 1247.52, 'text': 'Now with iloc, we used integers to select the columns.', 'start': 1244.059, 'duration': 3.461}, {'end': 1250.741, 'text': "But now that we're using loc, we can use labels.", 'start': 1247.88, 'duration': 2.861}, {'end': 1257.944, 'text': 'So if we want the email column of these first two rows, then now we can just pass in a value of email.', 'start': 1251.141, 'duration': 6.803}], 'summary': "Using loc, we can select specific columns using labels, e.g., 'email'.", 'duration': 22.689, 'max_score': 1235.255, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41235255.jpg'}, {'end': 1408.341, 'src': 'embed', 'start': 1378.836, 'weight': 5, 'content': [{'end': 1385.478, 'text': 'Now we saw a couple of different ways to do this in the last video, but the easiest way to do this is to use the shape attribute.', 'start': 1378.836, 'duration': 6.642}, {'end': 1391.321, 'text': 'So if I say df.shape and run this, then we can see that we have 88, 000 rows and 85 columns.', 'start': 1385.779, 'duration': 5.542}, {'end': 1398.719, 'text': "So let's grab all of the responses for the hobbyist column.", 'start': 1394.338, 'duration': 4.381}, {'end': 1408.341, 'text': "So again, what I'm trying to do here is if we look at our main data frame, I want to grab all of the responses for this column right here, hobbyist.", 'start': 1399.039, 'duration': 9.302}], 'summary': "Using df.shape, we found 88,000 rows and 85 columns. we then extracted all responses for the 'hobbyist' column.", 'duration': 29.505, 'max_score': 1378.836, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41378836.jpg'}, {'end': 1431.133, 'src': 'heatmap', 'start': 1408.781, 'weight': 0.772, 'content': [{'end': 1417.523, 'text': 'OK, so how would we do that? Now, if you remember, if you want to see what columns are available, then you could just say DF.', 'start': 1408.781, 'duration': 8.742}, {'end': 1420.024, 'text': 'dot columns to see all of these.', 'start': 1418.263, 'duration': 1.761}, {'end': 1421.786, 'text': 'we can see that these are kind of long.', 'start': 1420.024, 'duration': 1.762}, {'end': 1423.207, 'text': 'we have 85 here.', 'start': 1421.786, 'duration': 1.421}, {'end': 1431.133, 'text': 'but here we have hobbyist, which is the one that we want, and that is the question where people answered if they code as a hobby or not.', 'start': 1423.207, 'duration': 7.926}], 'summary': "Analyze dataframe to identify columns, 85 rows; focus on 'hobbyist' column for coding as a hobby.", 'duration': 22.352, 'max_score': 1408.781, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41408781.jpg'}, {'end': 1477.729, 'src': 'embed', 'start': 1446.805, 'weight': 4, 'content': [{'end': 1449.708, 'text': "But right now let's just grab those hobbyist responses.", 'start': 1446.805, 'duration': 2.903}, {'end': 1458.798, 'text': 'So if you remember from that small data set that we just saw, in order to grab that hobbyist column, we can just access that like a key.', 'start': 1450.129, 'duration': 8.669}, {'end': 1466.666, 'text': 'So if I say DF and then pass in hobbyist there, then we get a series of all of those responses.', 'start': 1459.258, 'duration': 7.408}, {'end': 1471.427, 'text': "And luckily, that doesn't display the entire 89, 000 rows in our browser here.", 'start': 1467.066, 'duration': 4.361}, {'end': 1477.729, 'text': 'But we do get the head and the tail of that data to get an idea of what those responses look like.', 'start': 1471.967, 'duration': 5.762}], 'summary': 'Accessed hobbyist column from small data set to get an overview of 89,000 rows.', 'duration': 30.924, 'max_score': 1446.805, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41446805.jpg'}, {'end': 1545.503, 'src': 'embed', 'start': 1519.434, 'weight': 6, 'content': [{'end': 1526.216, 'text': 'now again, this is going to be for a future video, but I just want to give you an idea of what pandas can do.', 'start': 1519.434, 'duration': 6.782}, {'end': 1528.537, 'text': 'so whenever I add this value counts method,', 'start': 1526.216, 'duration': 2.321}, {'end': 1536.88, 'text': 'we can see that out of this series that we returned here for all of our answers for this hobbyist question, the value counts are 71,', 'start': 1528.537, 'duration': 8.343}, {'end': 1545.503, 'text': "000 people said yes, they do code as a hobby and And about 18, 000 said no, they don't code as a hobby.", 'start': 1536.88, 'duration': 8.623}], 'summary': "Pandas analysis shows 71,000 people code as hobby, 18,000 don't.", 'duration': 26.069, 'max_score': 1519.434, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41519434.jpg'}], 'start': 869.798, 'title': 'Accessing dataframe columns and rows with pandas', 'summary': "Explains accessing specific columns and rows in a dataframe using pandas, including filtering columns, accessing rows with loc and iloc indexers, and demonstrating efficient data manipulation, with a focus on selecting 'hobbyist' column responses and calculating unique value counts.", 'chapters': [{'end': 967.589, 'start': 869.798, 'title': 'Accessing columns and rows in data frames', 'summary': 'Explains how to access specific columns and rows in a data frame using pandas, including filtering specific columns, displaying all columns, and accessing rows using loc and iloc indexers.', 'duration': 97.791, 'highlights': ['Using pandas, accessing specific columns in a data frame involves filtering out columns and slicing them, while displaying all columns can be achieved by using df.columns, showing the number of columns and their names.', 'Accessing rows in a data frame can be done using the loc and iloc indexers, with iloc allowing access to rows by integer location, and loc providing label-based access to rows.']}, {'end': 1562.792, 'start': 968.169, 'title': 'Pandas dataframe indexing', 'summary': "Covers indexing in pandas dataframe, including using iloc to select specific rows and columns with integer locations and using loc to select specific rows and columns with labels, demonstrating how to access and manipulate data efficiently, with a focus on selecting responses for the 'hobbyist' column from a dataframe and calculating the count of unique values.", 'duration': 594.623, 'highlights': ['The chapter covers indexing in Pandas DataFrame, including using iloc to select specific rows and columns with integer locations and using loc to select specific rows and columns with labels.', "Demonstrating how to access and manipulate data efficiently, with a focus on selecting responses for the 'hobbyist' column from a DataFrame and calculating the count of unique values.", "The value counts for the 'hobbyist' column show 71,000 people said yes, they code as a hobby and about 18,000 said no, they don't code as a hobby."]}], 'duration': 692.994, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF4869798.jpg', 'highlights': ['Accessing rows in a data frame using loc and iloc indexers', 'Filtering columns and slicing them in a dataframe using pandas', 'Using iloc to select specific rows and columns with integer locations', 'Using loc to select specific rows and columns with labels', "Selecting responses for the 'hobbyist' column and calculating unique value counts", 'Displaying all columns using df.columns and showing the number of columns and their names', "Value counts for the 'hobbyist' column: 71,000 people said yes, 18,000 said no"]}, {'end': 1830.916, 'segs': [{'end': 1680.208, 'src': 'heatmap', 'start': 1587.377, 'weight': 0, 'content': [{'end': 1594.94, 'text': 'So how do we grab rows? So remember, if we want to grab rows, that we use the loc or iloc indexers.', 'start': 1587.377, 'duration': 7.563}, {'end': 1601.142, 'text': "So I'm going to go ahead and use loc because remember, that's the one that allows me to use labels.", 'start': 1595.38, 'duration': 5.762}, {'end': 1606.886, 'text': "and i'm going to use a label instead of an integer for the hobbyist column name.", 'start': 1601.662, 'duration': 5.224}, {'end': 1613.451, 'text': "now again, since we're just using a default index and we can see the indexes here zero, one, two, three, four,", 'start': 1606.886, 'duration': 6.565}, {'end': 1623.139, 'text': "since we're just using a default index instead of a custom one, our current labels for our indexes are just a range of values from zero to eighty,", 'start': 1613.451, 'duration': 9.688}, {'end': 1624.08, 'text': 'eight thousand something.', 'start': 1623.139, 'duration': 0.941}, {'end': 1636.232, 'text': 'so in order to get the first row, i can say df, dot, loc, and pass in that label of that first index, which in this case is just a zero.', 'start': 1624.62, 'duration': 11.612}, {'end': 1641.817, 'text': 'and these are, uh, all of the responses from the first respondent.', 'start': 1636.232, 'duration': 5.585}, {'end': 1646.682, 'text': "so this is one person's entire um survey results here.", 'start': 1641.817, 'duration': 4.865}, {'end': 1654.168, 'text': 'now, if we wanted to see their results for just that hobbyist question, then remember,', 'start': 1646.682, 'duration': 7.486}, {'end': 1659.813, 'text': 'within the brackets here i can pass in a second value for the columns that i would like.', 'start': 1654.168, 'duration': 5.645}, {'end': 1666.938, 'text': 'so if i pass in hobbyist, then we can see that their answer to that, whether they code as a hobby, is yes.', 'start': 1659.813, 'duration': 7.125}, {'end': 1675.645, 'text': 'and also, like we saw earlier, i can also pass in a list of multiple rows or multiple columns to get the exact rows and columns that we want to see.', 'start': 1666.938, 'duration': 8.707}, {'end': 1680.208, 'text': 'So to get the first three responses for the hobbyist column.', 'start': 1676.426, 'duration': 3.782}], 'summary': 'Using loc indexer to extract specific rows and columns from a dataframe.', 'duration': 54.44, 'max_score': 1587.377, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41587377.jpg'}, {'end': 1738.594, 'src': 'embed', 'start': 1689.674, 'weight': 4, 'content': [{'end': 1698.841, 'text': 'So if I pass in a list of three rows here and run this, then these are the first three results for that hobbyist column.', 'start': 1689.674, 'duration': 9.167}, {'end': 1702.423, 'text': "Now, one thing that we haven't seen yet is that we can also use slicing.", 'start': 1699.161, 'duration': 3.262}, {'end': 1705.544, 'text': 'to grab multiple rows and columns as well.', 'start': 1702.783, 'duration': 2.761}, {'end': 1710.765, 'text': "Now, if you're familiar with list slicing, then this is pretty much the same thing.", 'start': 1705.984, 'duration': 4.781}, {'end': 1716.507, 'text': 'The only difference is that our last value is going to be inclusive, at least with loc.', 'start': 1711.146, 'duration': 5.361}, {'end': 1726.81, 'text': 'So if we wanted the first three rows, then we could say that we want from zero and then slice to the index of two.', 'start': 1716.987, 'duration': 9.823}, {'end': 1731.772, 'text': 'And if I run this, Whoops, and I accidentally made a mistake here.', 'start': 1727.53, 'duration': 4.242}, {'end': 1736.693, 'text': "Actually, whenever we're using slicing, we do not wrap these in brackets.", 'start': 1732.652, 'duration': 4.041}, {'end': 1738.594, 'text': "So I'm going to take that out.", 'start': 1737.453, 'duration': 1.141}], 'summary': 'Demonstrates usage of list slicing to access multiple rows and columns in a dataframe.', 'duration': 48.92, 'max_score': 1689.674, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41689674.jpg'}], 'start': 1563.192, 'title': 'Data retrieval and slicing in pandas', 'summary': 'Covers using loc and iloc to retrieve specific rows and columns from a dataframe, as well as slicing and filtering data in a pandas dataframe using loc, including selecting specific columns, rows, and slicing for specific data ranges.', 'chapters': [{'end': 1641.817, 'start': 1563.192, 'title': 'Data retrieval with loc and iloc', 'summary': 'Discusses the use of loc and iloc indexers to retrieve specific rows and columns from a dataframe, using labels and integers respectively. it also highlights the default index and the process of accessing the first row and a specific column.', 'duration': 78.625, 'highlights': ['The use of loc and iloc indexers to retrieve specific rows and columns from a dataframe is discussed, with loc being used for labels and iloc for integers.', 'The chapter emphasizes the default index, which consists of a range of values from zero to over eight thousand, and its role in retrieving the first row using the loc indexer.', 'The process of accessing a specific row and a particular column by using loc with a label for the row and column name is explained.']}, {'end': 1830.916, 'start': 1641.817, 'title': 'Pandas data slicing and filtering', 'summary': 'Demonstrates how to use loc to slice and filter data in a pandas dataframe, including selecting specific columns, rows, and using slicing to obtain specific ranges of data.', 'duration': 189.099, 'highlights': ['The chapter highlights how to use loc to select specific columns in a pandas dataframe, such as retrieving the answers to a particular question like coding as a hobby, and obtaining the first three responses for a specific column.', 'It also showcases the use of slicing to grab multiple rows and columns in a pandas dataframe, demonstrating that the last value in slicing with loc is inclusive.', 'Additionally, the chapter explains how to use slicing to obtain a range of columns from a starting point to an end point, emphasizing the inclusiveness of the endpoint in the slicing.', 'The speaker also discusses the rationale behind the inclusiveness of slicing, highlighting the convenience and clarity it provides in selecting ranges of data in a pandas dataframe.']}], 'duration': 267.724, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41563192.jpg', 'highlights': ['The use of loc and iloc indexers to retrieve specific rows and columns from a dataframe is discussed, with loc being used for labels and iloc for integers.', 'The chapter emphasizes the default index, which consists of a range of values from zero to over eight thousand, and its role in retrieving the first row using the loc indexer.', 'The process of accessing a specific row and a particular column by using loc with a label for the row and column name is explained.', 'The chapter highlights how to use loc to select specific columns in a pandas dataframe, such as retrieving the answers to a particular question like coding as a hobby, and obtaining the first three responses for a specific column.', 'It also showcases the use of slicing to grab multiple rows and columns in a pandas dataframe, demonstrating that the last value in slicing with loc is inclusive.', 'Additionally, the chapter explains how to use slicing to obtain a range of columns from a starting point to an end point, emphasizing the inclusiveness of the endpoint in the slicing.', 'The speaker also discusses the rationale behind the inclusiveness of slicing, highlighting the convenience and clarity it provides in selecting ranges of data in a pandas dataframe.']}, {'end': 2002.365, 'segs': [{'end': 1884.024, 'src': 'embed', 'start': 1857.592, 'weight': 0, 'content': [{'end': 1865.155, 'text': "Now there's still tons to learn about data frames and series objects, and we'll continue learning more about these throughout the pandas series,", 'start': 1857.592, 'duration': 7.563}, {'end': 1869.037, 'text': "since these two data types are the main data types that we'll be using in pandas.", 'start': 1865.155, 'duration': 3.882}, {'end': 1878.521, 'text': "So we'll be learning more about advanced filtering, queries, how to see which data type each column of our data contains, and a lot more.", 'start': 1869.417, 'duration': 9.104}, {'end': 1884.024, 'text': 'Now, before we end here, I do want to mention that we have a sponsor for this video, and that is brilliant.org.', 'start': 1878.861, 'duration': 5.163}], 'summary': 'Continuing to learn about data frames and series objects in pandas, main data types, advanced filtering, queries, and data type identification.', 'duration': 26.432, 'max_score': 1857.592, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41857592.jpg'}, {'end': 1968.875, 'src': 'embed', 'start': 1925.63, 'weight': 1, 'content': [{'end': 1932.653, 'text': 'So to support my channel and learn more about Brilliant, you can go to brilliant.org forward slash CMS to sign up for free.', 'start': 1925.63, 'duration': 7.023}, {'end': 1937.996, 'text': 'And also the first 200 people to go to that link will get 20% off the annual premium subscription.', 'start': 1933.054, 'duration': 4.942}, {'end': 1940.778, 'text': 'And you can find that link in the description section below.', 'start': 1938.357, 'duration': 2.421}, {'end': 1945.28, 'text': "Again, that's brilliant.org forward slash CMS.", 'start': 1941.258, 'duration': 4.022}, {'end': 1949.123, 'text': "Okay, so I think that's going to do it for this pandas video.", 'start': 1946.721, 'duration': 2.402}, {'end': 1955.767, 'text': 'I hope you feel like you got a good introduction to the data frame and series objects and how to navigate through some of your data.', 'start': 1949.523, 'duration': 6.244}, {'end': 1962.792, 'text': "Now, like I said, there's a lot more to learn about these data types and some advanced filtering that we'll learn in future videos.", 'start': 1956.247, 'duration': 6.545}, {'end': 1965.393, 'text': 'so be sure to stick around for that now.', 'start': 1963.212, 'duration': 2.181}, {'end': 1968.875, 'text': "in the next video we're going to be learning more about indexes.", 'start': 1965.393, 'duration': 3.482}], 'summary': 'Visit brilliant.org/cms for free sign-up and 20% off for first 200, exploring data frame and series objects, future topics on advanced filtering and indexes.', 'duration': 43.245, 'max_score': 1925.63, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41925630.jpg'}, {'end': 2002.365, 'src': 'embed', 'start': 1994.911, 'weight': 3, 'content': [{'end': 1999.259, 'text': "And if you have the means, you can contribute through Patreon and there's a link to that page in the description section below.", 'start': 1994.911, 'duration': 4.348}, {'end': 2002.365, 'text': 'Be sure to subscribe for future videos and thank you all for watching.', 'start': 1999.74, 'duration': 2.625}], 'summary': 'Contribute to patreon for support and subscribe for future videos.', 'duration': 7.454, 'max_score': 1994.911, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41994911.jpg'}], 'start': 1831.416, 'title': 'Introduction to pandas data frames', 'summary': 'Introduces the basics of exploring data frames and series objects, highlighting the importance of these data types in pandas and promoting brilliant.org for supplementary data science learning, offering a 20% off annual premium subscription for the first 200 sign-ups via the provided link.', 'chapters': [{'end': 2002.365, 'start': 1831.416, 'title': 'Introduction to pandas data frames', 'summary': 'Introduces the basics of exploring data frames and series objects, highlighting the importance of these data types in pandas and promoting brilliant.org for supplementary data science learning, offering a 20% off annual premium subscription for the first 200 sign-ups via the provided link.', 'duration': 170.949, 'highlights': ['The chapter emphasizes the importance of data frames and series objects in pandas, serving as the main data types for data manipulation and analysis.', 'A sponsorship mention is made for Brilliant.org, providing a 20% discount off the annual premium subscription for the first 200 sign-ups via the provided link.', 'The chapter encourages audience engagement by inviting questions in the comment section and promoting support through likes, sharing, and Patreon contributions.', 'Upcoming topics include advanced filtering and learning about indexes in the next video, offering a preview of the continued learning opportunities in the series.']}], 'duration': 170.949, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/zmdjNSmRXF4/pics/zmdjNSmRXF41831416.jpg', 'highlights': ['The chapter emphasizes the importance of data frames and series objects in pandas, serving as the main data types for data manipulation and analysis.', 'A sponsorship mention is made for Brilliant.org, providing a 20% discount off the annual premium subscription for the first 200 sign-ups via the provided link.', 'Upcoming topics include advanced filtering and learning about indexes in the next video, offering a preview of the continued learning opportunities in the series.', 'The chapter encourages audience engagement by inviting questions in the comment section and promoting support through likes, sharing, and Patreon contributions.']}], 'highlights': ['Data frames and series are primary data types in pandas', 'Demonstrating reading and displaying csv files', 'Accessing multiple columns using bracket notation', 'Accessing rows using loc and iloc indexers', 'Using loc and iloc indexers to retrieve specific rows and columns', 'Introduction of Brilliant.org as the sponsor', 'Sponsorship mention for Brilliant.org offering 20% discount', 'Encouraging audience engagement and support']}