DataFrame attributes
The pd.DataFrame shares many of the attributes of the pd.Series, with some slight differences. Generally, pandas tries to share as many attributes as possible between the pd.Series and pd.DataFrame, but the two-dimensional nature of the pd.DataFrame makes it more natural to express some things in plural form (for example, the .dtype attribute becomes .dtypes) and gives us a few more attributes to inspect (for example, .columns exists for a pd.DataFrame but not for a pd.Series).
How to do it
Much like we did in the previous section, we are going to construct a pd.DataFrame with a custom pd.Index in the rows, while also using custom labels in the columns. This will be more helpful when inspecting the various attributes:
index = pd.Index(["Jack", "Jill"], name="person")
df = pd.DataFrame([
[24, 180, "red"],
[42, 166, "blue"],
], columns=["age", "height_cm", "favorite_color"], index=index)
df
age height_cm favorite_color
person
Jack 24 180 red
Jill 42 166 blue
The types of each column can be inspected via the pd.DataFrame.dtypes attribute. This attribute returns a pd.Series where each row shows the data type corresponding to each column in our pd.DataFrame:
df.dtypes
age int64
height_cm int64
favorite_color object
dtype: object
The row index can be accessed via pd.DataFrame.index:
df.index
Index(['Jack', 'Jill'], dtype='object', name='person')
The column index can be accessed via pd.DataFrame.columns:
df.columns
Index(['age', 'height_cm', 'favorite_color'], dtype='object')
The shape can be accessed via pd.DataFrame.shape. For a two-dimensional pd.DataFrame, the shape is returned as a two-tuple where the first element represents the number of rows and the second element represents the number of columns:
df.shape
2 3
The size (number of elements) can be accessed via pd.DataFrame.size:
df.size
6
The Python built-in function len can show you the length (number of rows):
len(df)
2
Join our community on Discord
Join our community’s Discord space for discussions with the authors and other readers:
