pandas打印DataFrame的前几行、后几行样本和随机抽样

2024-04-24 20:38

本文主要是介绍pandas打印DataFrame的前几行、后几行样本和随机抽样,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用pandas对结构化数据进行探索性分析时,我们经常需要打印几条样本出来看看数据读取和处理是否正确,除了用iloc函数以索引区间的方式读取,pandas为我们提供了更简单的head和tail函数,这两个函数的使用方法和效果如下。

1、head函数

pandas中的head函数的使用方法如下:

import numpy as np
import pandas as pddf_data = pd.DataFrame(np.random.rand(10, 5))
# 打印全体数据
print(df_data)
# 打印前5条数据
print(df_data.head())
# 打印前2条数据
print(df_data.head(2))

结果如下:

          0         1         2         3         4
0  0.718092  0.899116  0.125582  0.978291  0.906551
1  0.173210  0.433652  0.620770  0.824463  0.037136
2  0.012881  0.683509  0.449453  0.859218  0.464844
3  0.243671  0.436372  0.518020  0.091002  0.631860
4  0.044998  0.688442  0.487132  0.230478  0.963189
5  0.453796  0.276635  0.458563  0.165412  0.763591
6  0.975923  0.890063  0.462410  0.168376  0.375301
7  0.694347  0.104572  0.511853  0.987440  0.852707
8  0.290416  0.476767  0.009371  0.360272  0.420603
9  0.813110  0.623151  0.358813  0.697292  0.0045720         1         2         3         4
0  0.718092  0.899116  0.125582  0.978291  0.906551
1  0.173210  0.433652  0.620770  0.824463  0.037136
2  0.012881  0.683509  0.449453  0.859218  0.464844
3  0.243671  0.436372  0.518020  0.091002  0.631860
4  0.044998  0.688442  0.487132  0.230478  0.9631890         1         2         3         4
0  0.718092  0.899116  0.125582  0.978291  0.906551
1  0.173210  0.433652  0.620770  0.824463  0.037136

我们进一步看一下pandas中head函数的源码可以发现它也是基于iloc函数实现的,且默认返回前5行数据:

    def head(self, n=5):"""Return the first `n` rows.This function returns the first `n` rows for the object basedon position. It is useful for quickly testing if your objecthas the right type of data in it.Parameters----------n : int, default 5Number of rows to select.Returns-------obj_head : same type as callerThe first `n` rows of the caller object.See Also--------DataFrame.tail: Returns the last `n` rows.Examples-------->>> df = pd.DataFrame({'animal':['alligator', 'bee', 'falcon', 'lion',...                    'monkey', 'parrot', 'shark', 'whale', 'zebra']})>>> dfanimal0  alligator1        bee2     falcon3       lion4     monkey5     parrot6      shark7      whale8      zebraViewing the first 5 lines>>> df.head()animal0  alligator1        bee2     falcon3       lion4     monkeyViewing the first `n` lines (three in this case)>>> df.head(3)animal0  alligator1        bee2     falcon"""return self.iloc[:n]

2、tail函数

pandas中的tail函数的使用方法如下:

import numpy as np
import pandas as pddf_data = pd.DataFrame(np.random.rand(10, 5))
# 打印全体数据
print(df_data)
# 打印后5条数据
print(df_data.tail())
# 打印后2条数据
print(df_data.tail(2))

结果如下:

          0         1         2         3         4
0  0.400922  0.146871  0.141041  0.839072  0.113124
1  0.885119  0.519281  0.571275  0.304061  0.965502
2  0.309809  0.061705  0.911406  0.954084  0.296767
3  0.965902  0.351461  0.398504  0.664548  0.764347
4  0.602855  0.582827  0.534116  0.226877  0.539045
5  0.736614  0.200998  0.170951  0.200885  0.623913
6  0.410535  0.347231  0.934425  0.130389  0.104412
7  0.871398  0.788983  0.210943  0.519613  0.133114
8  0.353736  0.986401  0.385541  0.691156  0.025777
9  0.978579  0.827868  0.074246  0.846744  0.0637190         1         2         3         4
5  0.736614  0.200998  0.170951  0.200885  0.623913
6  0.410535  0.347231  0.934425  0.130389  0.104412
7  0.871398  0.788983  0.210943  0.519613  0.133114
8  0.353736  0.986401  0.385541  0.691156  0.025777
9  0.978579  0.827868  0.074246  0.846744  0.0637190         1         2         3         4
8  0.353736  0.986401  0.385541  0.691156  0.025777
9  0.978579  0.827868  0.074246  0.846744  0.063719

看一下源码可以发现tail函数和head函数类似,也是基于iloc函数实现的,默认也是返回后5条数据。

3、sample函数

我们可以进一步使用pandas中的sample函数从数据框中抽取指定数量的样本,代码如下:

import numpy as np
import pandas as pddf_data = pd.DataFrame(np.random.rand(10, 5))
# 打印全体数据
print(df_data)
# 打印随机抽取的3条数据
print(df_data.sample(n=3))

效果如下:

          0         1         2         3         4
0  0.939711  0.620093  0.246614  0.399083  0.683863
1  0.432783  0.514398  0.764729  0.734619  0.546725
2  0.602358  0.731698  0.329452  0.413731  0.483912
3  0.035878  0.473099  0.938656  0.438246  0.719304
4  0.639476  0.168669  0.886065  0.422071  0.108447
5  0.508343  0.838977  0.768282  0.155232  0.706890
6  0.963683  0.492637  0.890227  0.742109  0.058080
7  0.534936  0.163335  0.582532  0.519570  0.833517
8  0.574580  0.088736  0.331792  0.954629  0.896857
9  0.626263  0.933672  0.348024  0.383196  0.7778810         1         2         3         4
5  0.508343  0.838977  0.768282  0.155232  0.706890
7  0.534936  0.163335  0.582532  0.519570  0.833517
8  0.574580  0.088736  0.331792  0.954629  0.896857

 

这篇关于pandas打印DataFrame的前几行、后几行样本和随机抽样的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932789

相关文章

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

【Python从入门到进阶】64、Pandas如何实现数据的Concat合并

接上篇《63.Pandas如何实现数据的Merge》 上一篇我们学习了Pandas如何实现数据的Merge,本篇我们来继续学习Pandas如何实现数据的Concat合并。 一、引言 在数据处理过程中,经常需要将多个数据集合并为一个统一的数据集,以便进行进一步的分析或建模。这种需求在多种场景下都非常常见,比如合并不同来源的数据集以获取更全面的信息、将时间序列数据按时间顺序拼接起来以观察长期趋势等

fastreport打印trichedit分页问题的解决

用fastreport来打印richedit里面的内容。刚开始放一个frxrichview组件到报表上,然后在 var str: TMemoryStream; begin    begin      str:= TMemoryStream.Create;      CurrRichRecord.richedit.Lines.SaveToStream(str);      str.Posit

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

win7下安装Canopy(EPD) 及 Pandas进行python数据分析

先安装好canopy,具体安装版本看自己需要那种,我本来是打算安装win764位的,却发现下载总是出现错误,无奈只能下载了32位的! https://store.enthought.com/downloads/#default 安装好之后,参考如下连接,进行检验: 之后再根据下面提供的连接进行操作,一般是没问题的! http://jingyan.baidu.com/article/5d6

11Python的Pandas:可视化

Pandas本身并没有直接的可视化功能,但它与其他Python库(如Matplotlib和Seaborn)无缝集成,允许你快速创建各种图表和可视化。这里是一些使用Pandas数据进行可视化的常见方法: 1. 使用Matplotlib Pandas中的plot()方法实际上是基于Matplotlib的,你可以使用它来绘制各种基本图表,例如折线图、柱状图、散点图等。 import pandas

Java项目中,配置打印 JDBC 日志的几种方法

在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在 application.yml 文件中配置日志级别来打印 JDBC 日志。 方法 1: 使用 application.yml 配置 JDBC 日志 logging:level:# 显示 SQL 语句co

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

医院检验系统LIS源码,LIS系统的定义、功能结构以及样本管理的操作流程

本文将对医院检验系统LIS进行介绍,包括LIS系统的定义、功能结构以及样本管理的操作流程方面。 LIS系统定义 LIS系统(Laboratory Information System)是一种专门为临床检验实验室开发的信息管理系统,其主要功能包括实验室信息管理、样本管理、检验结果管理、质量控制管理、数据分析等。其主要作用是管理医院实验室的各项业务,包括样本采集、检验、结果录入和报告生成等。Li