Let's start by just looking at an example of a  NumPy array:
A=array( [[ 1., 2., 3.],
[4., 5., 6.]])
It is displayed as:
[[1. 2. 3.]
[4. 5. 6.]]
And its elements are accessed by using indexes generated simply by counting rows and columns, for example, A[0,1].
This matrix can be converted to the pandas datatype DataFrame by keeping the same data and order but representing and accessing it in a different way:
import pandas as pd
A=array( [[ 1., 2., 3.],
[ 4., 5., 6.]] )
AF = pd.DataFrame(A)
This DataFrame object, which we will explain in more detail in this chapter, is displayed as
0 1 2
0 1.0 2.0 3.0
1 4.0 5.0 6.0
We see that a pandas dataframe has extra labels for the rows and columns called index and columns. These are the metadata of a dataframe.
Here, they coincide with NumPy's indexing, but that is not always so. The index and columns metadata allows the pandas dataframe to...