删除重复的行 python
时间: 2023-09-09 15:08:04 浏览: 36
可以使用 pandas 库中的 `drop_duplicates()` 函数来删除 DataFrame 中的重复行。该函数返回一个新的 DataFrame,其中包含了原始 DataFrame 中去重后的数据。
以下是一个示例代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 3],
'B': ['a', 'b', 'c', 'd', 'e', 'c'],
'C': [1, 2, 3, 4, 5, 3]})
# 删除重复的行
new_df = df.drop_duplicates()
# 打印新的 DataFrame
print(new_df)
```
输出结果为:
```
A B C
0 1 a 1
1 2 b 2
2 3 c 3
3 4 d 4
4 5 e 5
```
可以看到,新的 DataFrame 中去掉了原始 DataFrame 中的重复行。默认情况下,该函数会将所有列的值都考虑在内,如果需要指定特定的列进行去重,可以使用 `subset` 参数来指定。例如,如果只想根据列 A 和列 B 进行去重,可以这样写:
```python
new_df = df.drop_duplicates(subset=['A', 'B'])
```
相关问题
python怎么删除重复行
可以使用pandas库来删除重复行,具体步骤如下:
1. 读取数据:使用pandas库的read_csv()函数读取数据文件,生成DataFrame对象。
```
import pandas as pd
df = pd.read_csv('data.csv')
```
2. 删除重复行:使用pandas库的drop_duplicates()函数删除重复行,该函数默认会保留第一个出现的重复行,可以通过参数keep来指定保留哪一个。
```
df.drop_duplicates(inplace=True)
```
其中,inplace=True表示对原DataFrame对象进行修改,不需要赋值给新的变量。如果不加该参数,则需要将返回值赋值给新的变量。
3. 保存数据:使用pandas库的to_csv()函数将处理后的数据保存到文件。
```
df.to_csv('new_data.csv', index=False)
```
其中,index=False表示不保存行索引。
完整代码如下:
```
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 删除重复行
df.drop_duplicates(inplace=True)
# 保存数据
df.to_csv('new_data.csv', index=False)
```
以上代码会将原数据文件中的重复行删除,并将处理后的数据保存到new_data.csv文件中。
python txt删除重复行
可以使用Python的set()函数来删除txt文件中的重复行,以下是示例代码:
```python
with open('filename.txt','r') as f:
lines = f.readlines()
lines_set = set(lines)
with open('filename.txt','w') as f:
for line in lines_set:
f.write(line)
```
以上代码首先使用`open()`函数读取txt文件中的所有行,然后使用Python的`set()`函数将其转换为一个集合,自动去重。最后再次使用`open()`函数将去重后的结果写回到原文件中。