Pandas 如何使用pandas获取数据中的每N行
在本文中,我们将介绍如何使用pandas获取数据中的每N行。
阅读更多:Pandas 教程
获取数据
首先我们需要获取一些数据,这里我们使用pandas自带的数据集iris。
import pandas as pd
iris = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None)
这里我们使用pd.read_csv()
方法获取数据,数据源来自UCI Machine Learning Repository。我们可以使用header=None
参数来表示数据没有列名称。
获取每N行数据
接下来我们将使用pandas获取每N行数据。我们需要使用iloc
方法,传入一个切片对象即可。
例如,获取每隔2行的数据:
iris.iloc[::2, :]
这里::2
表示从第0行开始,每隔2行取一行数据。
同样的,我们也可以获取每隔3行的数据:
iris.iloc[::3, :]
同理,我们也可以获取倒数第二行中每隔2行的数据:
iris.iloc[-2::-2, :]
这里-2
表示从倒数第二行开始,::-2
表示每隔2行取一行数据。
获取随机N行数据
除了按照固定的间隔获取数据以外,我们也可以随机获取N行数据。这里我们使用sample
方法。
例如,获取随机的10行数据:
iris.sample(10)
这里sample
方法的参数为待获取的随机的行数。
当然,我们也可以使用frac
参数表示获取数据的百分比:
iris.sample(frac=0.1)
这里frac
表示10%,即获取数据行数占总行数的10%。
总结
通过本文,我们学习了如何使用pandas获取数据中的每N行。我们使用了iloc
方法获取固定间隔的数据,并使用了sample
方法获取随机行数据。这些方法可以对于一些数据处理、分析、可视化任务的实现提供方便。