Python编程:读取一个csv文件为数据框,然后根据hospitalcode、ID查重,然后查看重复值和唯一值
时间: 2024-09-22 15:03:28 浏览: 43
在Python中,我们可以使用pandas库轻松处理CSV文件并进行数据清洗,特别是查找重复值和唯一值。以下是步骤:
1. 首先,你需要安装pandas和openpyxl(如果文件包含Excel格式的数据),可以使用以下命令:
```
pip install pandas openpyxl
```
2. 然后,使用`pandas.read_csv()`函数读取CSV文件内容,将其转换为DataFrame(表格数据结构):
```python
import pandas as pd
df = pd.read_csv('your_file.csv') # 替换 'your_file.csv' 为你的文件路径
```
3. 接下来,你可以利用`duplicated()`和`drop_duplicates()`方法检查重复项。`duplicated()`返回布尔系列,表示哪些行是重复的,而`drop_duplicates()`则会删除这些重复行:
```python
duplicates = df.duplicated(subset=['hospitalcode', 'ID']) # 指定基于'hospitalcode'和'ID'列查找重复
duplicate_rows = df[duplicates] # 找到所有重复行
unique_rows = df.drop_duplicates(subset=['hospitalcode', 'ID']) # 删除重复行,保留唯一的组合
```
4. 最后,你可以使用`value_counts()`对非重复的'hospitalcode'和'ID'进行计数,查看每个组合的数量:
```python
hospitalcode_counts = df['hospitalcode'].value_counts()
id_counts = df['ID'].value_counts()
```
对于展示结果,可以直接打印出`duplicate_rows`和计算后的计数值。
如果你想要查看特定条件下的重复或唯一情况,比如只看'hospitalcode'列,可以这样操作:
```python
hosp_duplicates = df['hospitalcode'].duplicated()
unique_hospitals = df['hospitalcode'].drop_duplicates()
# 查看'hospitalcode'列的重复次数
print("Hospitalcode duplicates:", hosp_duplicates.sum())
print("Unique hospitals:", len(unique_hospitals))
```
阅读全文