添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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的更多信息,请参见以下文章。

18_Pandas.DataFrame,取得Series的头和尾(head和tail)当检查具有许多行的pandas.DataFrame,pandas.Series的数据时,返回最初行和最后行的方法head()和tail()很方便。在此将对以下内容予以描述:返回最初行:Head()返回最后行:Tail()通过在切片中指定行号来获取行获取第一行/最后一行中的元素例如,使用seaborn中的iris数据集作为样本。它是pandas.DataFrame。import pandas as pd pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) data:多维组,字典或DataFrame。必需参。 index:行 import pandas as pd from pyspark.sql import SparkSession from pyspark.sql import SQLContext from pyspark import SparkContext #初始化据 #初始化pandas DataFrame df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['row1', 'row2'], columns=['c1', 'c2', 'c3']) #打印据 import numpy as np import pandas as pd data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'], 'year': [2016,2016,2015,2017,2016, 2016], 'population': [2100, 2300, 1000, 700, 500, 500]} frame = pd.DataFrame(data, columns = ['year', 'city', 'populat
pandas据处理、据分析时候常会用到head()、tail()两个方法,两个方法默认会显示前/后5行,并且会默认忽略某些列。 如果想展示全部列的内容,很简单,加一行搞定。 pd.set_option('display.max_columns', None) 来看一段完整的代码,猫哥以经典的分析titainic据为例,简介一下: import pandas as pd train_df = pd.read_csv('titainic.csv') print(train_df.head(
pandas.DataFrame(output_10.detach().numpy()) 输出的类型是 pandas 据帧。 pandas一个用于据分析的开源库。据帧是 pandas 中用于存储表格据的据结构。它由一个二维结构组成,其中有行和列。每一行代表一个观察值,每一列代表一个变量。 output_10.detach().numpy() 的输出类型是 numpy 组。numpy 是一个用于进行科学计算的 Python 库,它提供了许多用于操作组的函和方法。组是 numpy 中的主要据结构,它由一个类似于 Python 列表的多维据集合组成。 因此,pandas.DataFrame(output_10.detach().numpy()) 输出的是一个从 numpy 组转换而来的 pandas 据帧。
CSDN-Ada助手: 非常感谢博主的辛勤创作,这篇博客非常有价值,内容详实,易于理解,不仅解决了我们在 Pandas 中将列表存储和处理为 pandas 中的元素时遇到的问题,还为我们提供了宝贵的参考和借鉴。希望博主能再次创作更多类似的知识分享,让我们受益匪浅。再次感谢博主的付出! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。 09_Pandas从多个条件(AND,OR,NOT)中提取行 weixin_42843494: 运算符的优先级的举例,如果没有运算优先级的话,从左到右计算两个计算表达式计算的东西也不一样啊。感觉不能说明是因为运算符优先级导致计算结果不同,因为就算没有运算符优先级,这个计算结果也应该不同 饺子大人的Python-Pandas CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)增加内容的多样性(例如使用标准目录、标题、图片、链接、表格等元素);(2)使用标准目录;(3)增加条理清晰的目录。 21_Numpy进行矩阵运算(逆矩阵,行列式,特征值等) 无水先生: 12_Pandas.DataFrame删除指定行和列(drop) zhangshuyx: 很详细,全面,赞一个