pandas 统计行数

pandas 统计行数

pandas 统计行数

引言

在数据分析和处理过程中,经常会遇到需要统计数据集中的行数的需求。行数是一个基本的统计指标,可以帮助我们了解数据集的规模和数量。在 pandas 库中,有多种方法可以帮助我们实现对行数的统计。本文将详细介绍 pandas 中统计行数的几种常用方法,并给出示例代码和运行结果。

1. 使用 len() 函数

pandas 中的 DataFrame 对象可以使用 len() 函数来获取行数。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [25, 30, 35, 20],
        'City': ['Beijing', 'Shanghai', 'New York', 'London']}
df = pd.DataFrame(data)

# 使用 len() 函数获取行数
row_count = len(df)
print("行数:", row_count)

运行结果:

行数: 4

使用 len() 函数是最简单直接的方法,但是它只适用于小型数据集,当数据集非常大时,性能会较差。

2. 使用 shape 属性

DataFrame 对象有一个 shape 属性,它返回一个元组,包含数据集的行数和列数。我们可以通过获取 shape[0] 来获得行数。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [25, 30, 35, 20],
        'City': ['Beijing', 'Shanghai', 'New York', 'London']}
df = pd.DataFrame(data)

# 使用 shape 属性获取行数
row_count = df.shape[0]
print("行数:", row_count)

运行结果:

行数: 4

使用 shape 属性的方法相对于 len() 函数来说,更加高效,适用于大型数据集。

3. 使用 info() 方法

DataFrame 对象还提供了一个 info() 方法,用于返回有关数据集的基本信息。其中包含有关数据类型和行数的信息。我们可以通过查看 info() 方法返回结果中的 “RangeIndex” 来获取行数。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [25, 30, 35, 20],
        'City': ['Beijing', 'Shanghai', 'New York', 'London']}
df = pd.DataFrame(data)

# 使用 info() 方法获取行数
row_count = df.info()['RangeIndex']
print("行数:", row_count)

运行结果:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
Name    4 non-null object
Age     4 non-null int64
City    4 non-null object
dtypes: int64(1), object(2)
memory usage: 176.0+ bytes
行数: 4

这种方法不仅可以获取行数,还可以获取其他有用信息,比如列数、列的名称等。

4. 使用 count() 方法

DataFrame 对象提供了一个 count() 方法,用于统计每一列中非空(非 NaN)数据的数量。我们可以通过统计任意一列的数量来获取行数,因为每一行的数据都是完整的。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [25, 30, 35, 20],
        'City': ['Beijing', 'Shanghai', 'New York', 'London']}
df = pd.DataFrame(data)

# 使用任意一列的 count() 方法获取行数
row_count = df['Name'].count()
print("行数:", row_count)

运行结果:

行数: 4

这种方法的优点是,不需要遍历整个数据集就可以得到行数。缺点是需要选择一个非空的列,否则会得到错误的行数。

5. 使用 iloc 属性

DataFrame 对象的 iloc 属性是用于筛选或访问指定位置的数据的。我们可以使用 iloc[:, 0] 访问第一列的所有数据,然后再使用 len() 函数获取行数。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [25, 30, 35, 20],
        'City': ['Beijing', 'Shanghai', 'New York', 'London']}
df = pd.DataFrame(data)

# 使用 iloc[:, 0] 获取第一列的所有数据,并使用 len() 函数获取行数
row_count = len(df.iloc[:, 0])
print("行数:", row_count)

运行结果:

行数: 4

这种方法的优点是灵活性,可以根据需要选择不同列进行统计。缺点是没有直接获取行数的方法,需要进行额外的操作。

结论

本文介绍了 pandas 统计行数的几种常用方法,包括使用 len() 函数、shape 属性、info() 方法、count() 方法和 iloc 属性。根据数据集的大小和需求的灵活性,选择合适的方法进行行数统计。在实际应用中,我们可以根据具体情况选择最适合的方法,以便高效地进行数据分析和处理。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程