18_Pandas.DataFrame,取得Series的头和尾(head和tail)
18_Pandas.DataFrame,取得Series的头和尾(head和tail)当检查具有许多行的pandas.DataFrame,pandas.Series的数据时,返回最初行和最后行的方法head()和tail()很方便。在此将对以下内容予以描述:返回最初行:Head()返回最后行:Tail()通过在切片中指定行号来获取行获取第一行/最后一行中的元素例如,使用seaborn中的iris数
18_Pandas.DataFrame,取得Series的头和尾(head和tail)
当检查具有许多行的pandas.DataFrame,pandas.Series的数据时,返回最初行和最后行的方法head()和tail()很方便。
在此将对以下内容予以描述:
- 返回最初行:Head()
- 返回最后行:Tail()
- 通过在切片中指定行号来获取行
- 获取第一行/最后一行中的元素
例如,使用seaborn中的iris数据集作为样本。它是pandas.DataFrame。
import pandas as pd
import seaborn as sns
df = sns.load_dataset("iris")
print(df.shape)
# (150, 5)
该示例为pandas.DataFrame,但pandas.Series也具有head()和tail()。参数的用法是相同的。
返回第一行:Head()
head()方法返回最初行。
默认值为前5行。
print(df.head())
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
# 3 4.6 3.1 1.5 0.2 setosa
# 4 5.0 3.6 1.4 0.2 setosa
如果指定整数作为参数,则将返回相应的行。
print(df.head(3))
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
返回最后一行:Tail()
tail()方法返回最后行。
默认值为前5行。
print(df.tail())
# sepal_length sepal_width petal_length petal_width species
# 145 6.7 3.0 5.2 2.3 virginica
# 146 6.3 2.5 5.0 1.9 virginica
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
如果指定整数作为参数,则将返回相应的行。
print(df.tail(3))
# sepal_length sepal_width petal_length petal_width species
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
通过在切片中指定行号来获取行
还可以在切片中指定行号,以在任何位置获取行的元素。
print(df[50:55])
# sepal_length sepal_width petal_length petal_width species
# 50 7.0 3.2 4.7 1.4 versicolor
# 51 6.4 3.2 4.5 1.5 versicolor
# 52 6.9 3.1 4.9 1.5 versicolor
# 53 5.5 2.3 4.0 1.3 versicolor
# 54 6.5 2.8 4.6 1.5 versicolor
还可以使用切片执行与head()和tail()相同的处理。
print(df[:5])
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
# 3 4.6 3.1 1.5 0.2 setosa
# 4 5.0 3.6 1.4 0.2 setosa
print(df[-5:])
# sepal_length sepal_width petal_length petal_width species
# 145 6.7 3.0 5.2 2.3 virginica
# 146 6.3 2.5 5.0 1.9 virginica
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
获取第一行/最后一行中的元素
可以通过在head()或tail()中指定参数n = 1来获得第一行或最后一行,但是即使只有一行,类型也是pandas.DataFrame。
print(df.head(1))
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
print(type(df.head(1)))
# <class 'pandas.core.frame.DataFrame'>
如果使用iloc仅指定一行,则可以使用pandas.Series获得指定的行。 pandas.Series更容易获得价值。您可以使用iloc [0]获得第一行,并使用iloc [-1]获得最后一行。
如果要获取元素的值,则可以使用iloc [0] [‘列名’],iloc [-1] [‘列名’],依此类推。
print(df.iloc[0])
# sepal_length 5.1
# sepal_width 3.5
# petal_length 1.4
# petal_width 0.2
# species setosa
# Name: 0, dtype: object
print(type(df.iloc[0]))
# <class 'pandas.core.series.Series'>
print(df.iloc[0]['sepal_length'])
# 5.1
print(df.iloc[-1])
# sepal_length 5.9
# sepal_width 3
# petal_length 5.1
# petal_width 1.8
# species virginica
# Name: 149, dtype: object
print(type(df.iloc[-1]))
# <class 'pandas.core.series.Series'>
print(df.iloc[-1]['sepal_length'])
# 5.9
请注意,如果.iloc不存在,将发生错误。
# print(df[0])
# KeyError: 0
# print(df[-1])
# KeyError: -1
有关at,iat,loc和iloc的更多信息,请参见以下文章。
更多推荐


所有评论(0)