Python (十五)pandas(三)

发布时间:2023年12月22日

程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


drop_duplicates()

根据所有列删除重复的行

import pandas as pd
import numpy as np
from pandas import Series,DataFrame



df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','20']],columns=['name','num'])

print(df.drop_duplicates())

#输出
  name num
0   小班  10
1   中班  15
2   大班  20

删除指定列的重复数据,使用subset参数

df1 = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','15']],columns=['name','num'])
print(df1.drop_duplicates(subset=['num']))
print(df1.drop_duplicates(subset='num'))


#输出
  name num
0   小班  10
1   中班  15
2   大班  20

  name num
0   小班  10
1   中班  15
2   大班  20

删除指定列的重复数据,保留最后一次数据,使用keep

df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['小班','10']],columns=['name','num'])

print(df.drop_duplicates(subset=['name','num'],keep='last'))

#输出
  name num
1   中班  15
2   大班  20
3   小班  10

删除重复数据后,重新设置行索引,使用ignore_index

df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['小班','10']],columns=['name','num'])

print(df.drop_duplicates(subset=['name','num'],keep='last',ignore_index=True))

#输出
  name num
0   中班  15
1   大班  20
2   小班  10

直接删除原DataFrame的重复数据,使用inplace=True

df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','20']],columns=['name','num'])

df_2 = df.drop_duplicates(inplace=True)  
print(df_2)
print(df)

#输出

None

  name num
0   小班  10
1   中班  15
2   大班  20


系列文章索引

Python (一) 操作Mysql

Python (二) 读写excel文件

Python (三) 读写csv文件

Python (四)读写word

Python (五) 处理图像

Python (六) 绘图

Python(七)操作JSON


文章来源:https://blog.csdn.net/feikillyou/article/details/135157122
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。