欢迎访问宙启技术站
智能推送

如何在pandas.DataFrame中进行数据 值和重复值的处理

发布时间:2023-12-17 15:00:04

在pandas中,可以使用DataFrame的一些方法来处理数据的 值和重复值。以下是一些常用的方法和示例来解决这些问题:

1. 查找 值:

- 使用unique()方法可以返回DataFrame中某一列的 值。

- 使用nunique()方法可以返回DataFrame中某一列的 值的数量。

示例:

import pandas as pd

# 创建一个简单的DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
        'Age': [20, 21, 22, 20]}
df = pd.DataFrame(data)

# 查找Name列的      值
unique_names = df['Name'].unique()
print(unique_names)  # 输出:['Tom' 'Nick' 'John']

# 查找Name列的      值的数量
unique_names_count = df['Name'].nunique()
print(unique_names_count)  # 输出:3

2. 去除重复值:

- 使用drop_duplicates()方法可以去除DataFrame中重复的行,默认根据所有列的值判断重复。

- 使用duplicated()方法可以返回一个布尔型Series,表示DataFrame中的每一行是否是重复的行。

示例:

import pandas as pd

# 创建一个包含重复行的DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
        'Age': [20, 21, 22, 20]}
df = pd.DataFrame(data)

# 去除重复的行
df_unique = df.drop_duplicates()
print(df_unique)
# 输出:
#   Name  Age
# 0  Tom   20
# 1  Nick  21
# 2  John  22

# 返回一个布尔型Series
duplicated_rows = df.duplicated()
print(duplicated_rows)
# 输出:
# 0    False
# 1    False
# 2    False
# 3     True
# dtype: bool

3. 统计重复值:

- 使用duplicated(subset=columns)方法可以基于指定的列来判断重复行。

- 使用value_counts()方法可以返回DataFrame中每个 值的计数,可以用于统计重复值的频率。

示例:

import pandas as pd

# 创建一个包含重复行的DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
        'Age': [20, 21, 22, 20]}
df = pd.DataFrame(data)

# 基于Name列判断重复行
duplicated_names = df.duplicated(subset=['Name'])
print(duplicated_names)
# 输出:
# 0    False
# 1    False
# 2    False
# 3     True
# dtype: bool

# 统计Name列中每个      值的计数
name_counts = df['Name'].value_counts()
print(name_counts)
# 输出:
# Tom     2
# Nick    1
# John    1
# Name: Name, dtype: int64

综上所述,pandas提供了一些直观和灵活的方法来处理DataFrame中的 值和重复值。可以根据具体需求选择适合的方法来解决问题。