第1关:数据去重import pandas as pd def duplicate(): ''' 返回值: dealed: 对dataset的Date列进行去重后的DataFrame类型数据 dataset: 初始读入的basketball.csv的数据 ''' # 请在此添加代码 完成本关任务 # ********** Begin *********# # ********** End **********# # 返回dealed,dataset return dealed,dataset
时间: 2025-05-23 16:21:45 浏览: 79
### 使用 Pandas 对 DataFrame 的 Date 列进行去重
在 Pandas 中,可以通过 `drop_duplicates` 方法对指定列进行去重操作。此方法允许用户针对某列或多列执行去重逻辑,并保留首次出现的记录或最后一次出现的记录。以下是具体实现方式:
#### 实现代码
```python
import pandas as pd
def remove_date_duplicates(df, column_name='Date'):
"""
去除DataFrame中指定列(默认为'Date')的重复项。
参数:
df (pd.DataFrame): 输入的DataFrame。
column_name (str): 需要去重的目标列名,默认为 'Date'。
返回:
tuple: 包含两个元素,
第一个是去除重复后的DataFrame;
第二个是原始未修改的DataFrame。
"""
# 检查目标列是否存在
if column_name not in df.columns:
raise ValueError(f"列 '{column_name}' 不存在于输入的DataFrame中")
# 执行去重操作
unique_df = df.drop_duplicates(subset=[column_name]) # 只基于指定列去重[^5]
return unique_df, df
# 示例数据
data = {
'Date': ['2023-10-01', '2023-10-01', '2023-10-02', '2023-10-03'],
'Value': [10, 15, 20, 25]
}
df_example = pd.DataFrame(data)
unique_result, original_data = remove_date_duplicates(df_example)
print("去重后的数据:")
print(unique_result)
print("\n原始数据:")
print(original_data)
```
#### 关键点解析
1. **`drop_duplicates` 方法**
此方法支持通过参数 `subset` 来指定需要检查重复性的列名称列表。当仅需对单列进行去重时,可将其设置为目标列名字符串。该方法会自动移除重复行并保留第一次出现的记录[^5]。
2. **错误处理机制**
如果目标列不在 DataFrame 中,则抛出异常提示用户修正输入。这种设计有助于提高程序健壮性。
3. **返回值结构**
函数返回一个元组,其中第一个元素为经过去重处理的新 DataFrame;第二个元素则是未经任何更改的原生 DataFrame 数据副本。
---
###
阅读全文