Hi. Let me introduce DataFrame in this video clip, especially two-dimensional DataFrame. In DataFrame there's index. Index are left aligned and column values are right aligned. This is a typical presentation of two-dimensional DataFrame in Pandas. Let's make two-dimensional DataFrame. Here's season_temps object. This object will contain four columns: spring, summer, fall, winter. In each column, three numbers are contained. Those three numbers represent temperatures. This DataFrame will be created from our dictionary. Our dictionary is contained in DataFrame function. If you want to create two-dimensional DataFrame, you use this command line, pd.DataFrame, means that you are using a DataFrame function reading Pandas library and reading the function parenthesis, you plugged in our dictionary. Let's execute this one then. As you see here, the index is left aligned and column values are right-aligned. Let me give you another example of making a DataFrame from NumPy arrays. Here is np.array. You are creating two-dimensional array by plugging two-dimensional lists. Each sublist stands for five scores of student. Scores object will contain five student subjective scores. Let's create this one by executing the cell. Then the type of scores is arrays and score shape is three by two, two-dimensional array. Actually right now, it is an array object, not DataFrame object. In order to create DataFrame based on this NumPy array, you put scores object reading, pd.DataFrame function. Then here's scores_df, DataFrame is created. This shape is three by five, two-dimensional; three rows, five columns. We didn't specify any indexes. Row indexes, column indexes are not specified. That's why automatically integer, row numbers, and column numbers are assigned to each columns and rows. As you see here, row indexes are left-aligned and column values are right-aligned. Now we can assign label indexes. First, let's assign column indexes. First column score is from Kim, second column score is from Park, Fei, Kwon, Lee. In order to assign column index, you use columns parameter. Indexes are strings, they are contained in a list. Then let's execute this one. As you see here, column index is changing from integers to labels. Surely, you can use different way of assigning column indexes. As you see here, you can use this one, dot columns. Once you create the DataFrame, you can change column names. For example, we are changing column names from Lee to Nam. What happens? We are re-assigning column indexes, then as you see here, column indexes re-assigned. This is a way of re-assigning column indexes. There's another way of assigning indexes. In the following cell, I'm presenting assigning column indexes as well as row indexes. After assigning column indexes and row indexes, the DataFrame is another DataFrame , scores_ni is created. If we execute this one, as you see here, now row index becomes math, econ, physics. If you change it, row index here. Previously we had scores_df, in the previous case, there is no row indexes. Surely, we can assign row indexes also to scores_df object, as you see here, dot index. Then you put row index names reading list. Then [inaudible] as you see here: computer, chemistry, food. Dataset has different row indexes right now. You can change row indexes and column indexes as you wish. Also, we can apply describe function in order to get descriptive statistics for the DataFrame. Then let's see what will be the outcome. The outcome is this one. It means that when you apply describe function, if you do not give any parameter values for calculating descriptive statistics, the descriptive statistics are calculated for each column. For example, if you see here, there are five column indexes and each person has three scores. Counts are three and mean value is simply mean values of three scores. Here's scores_df.mean, means that simply, you are getting only mean statistics from the same dataset. Here, exactly the same number is returned. You can transpose a dataset. If you transpose DataFrame, column indexes become row indexes and row indexes become column indexes. Also, you can calculate descriptive statistics to the previous transpose dataset. Then what you see is this one. At this time count is five, not three. It means that descriptive statistics, again calculated for each column indexes. From computer engineering, five students scores are used for computer engineering, average grade calculation. Critically, in DataFrame, if you do not give any directional parameter, the DataFrame when it is applied to describe function, the descriptive statistics are calculated based on column values. On review questionnaires, true or false: when making our DataFrame object from a dictionary object, the keys of a dictionary becomes column labels, true or false? As I will later introduce, column label comes from keys from dictionary. So the answer is true.