文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pandas数据分析常用函数如何使用

2023-07-05 00:00

关注

本篇内容介绍了“Pandas数据分析常用函数如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Pandas是数据处理和分析过程中常用的Python包,提供了大量能使我们快速便捷地处理数据的函数和方法,在此主要整理数据分析过程pandas包常用函数,以便查询。

一、数据导入导出

pandas提供了一些用于将表格型数据读取为DataFrame对象函数,如read_csv,read_table。输入pd.read后,按Tab键,系统将把以read开头的函数和模块都列出来,根据需要读取的文件类型选取。

#包的安装导入import pandas as pd#查询帮助文档pd.read_csv?#数据载入(仅罗列一部分常用参数)df = pd.read_csv(     filePath, #路径      sep=',',  #分隔符     encoding='UTF-8', #用于unicode的文本编码格式,如GBK,UTF-8     engine='python',     header = None, #第一行不作为列名     names= [['col1','col2']], #字段名设置     index_col=None,      skiprows=None, #跳过行None     error_bad_lines=False #错误行忽略    )# 数据导出df.to_csv(filePath,           sep = ',',           index = False)

二、数据加工处理

1)重复值处理

# Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录#找出重复行位置dIndex = df.duplicated()#根据某些列找出重复位置dIndex = df.duplicated('id')dIndex = df.duplicated(['id', 'key'])#根据返回值提取重复数据df[dIndex]#删除重复行newdf = df.drop_duplicated()#去掉重复数据newdf = df.drop_duplicated(keep = False)#根据'key'字段去重,并保留重复key字段第一个##subset:指定的标签或标签序列,仅删除这些列重复值,默认情况为所有列##keep:确定要保留的重复值:first(保留第一次出现的重复值,默认)last(保留最后一次出现的重复值)False(删除所有重复值)newdf = df.drop_duplicated(subset = ['key'],keep = 'first')

2)缺失值处理

# 输出某列是否有为空值print(df.isnull().any(axis = 0))# 获取空值所在的行df[df.isnull().any(axis = 1)]# 空值填充df.fillna('未知')# 删除空值newDF = dropna(axis="columns",how="all",inplace=False) #how可选有any和all,any表示只要有空值出现就删除,all表示全部为空值才删除,inplace表示是否替换掉原本数据

3)空格处理

newName = df['name'].str.lstrip()newName = df['name'].str.rstrip()newName = df['name'].str.strip()

4)字段拆分

newDF = df['name'].str.split(' ', 1, True)

5)筛选数据

#单条件df[df.comments>10000]#多条件df[df.comments.between(1000, 10000)]#过滤空值所在行df[pandas.isnull(df.title)]#根据关键字过滤df[df.title.str.contains('台电', na=False)]#~为取反df[~df.title.str.contains('台电', na=False)]#组合逻辑条件df[(df.comments>=1000) & (df.comments<=10000)]

6)随机抽样

#设置随机种子numpy.random.seed(seed=2)#按照个数抽样data.sample(n=10)#按照百分比抽样data.sample(frac=0.02)#是否可放回抽样,#replace=True,可放回, #replace=False,不可放回data.sample(n=10, replace=True)

7)数据匹配

items = pandas.read_csv(    'D:\\PDA\\4.12\\data1.csv',     sep='|',     names=['id', 'comments', 'title'])prices = pandas.read_csv(    'D:\\PDA\\4.12\\data2.csv',     sep='|',     names=['id', 'oldPrice', 'nowPrice'])#默认只是保留连接上的部分itemPrices = pd.merge(    items,     prices,     left_on='id',     right_on='id',    how = 'left')#how:连接方式,有inner、left、right、outer,默认为inner;

8)数据合并

data = pd.concat([data1, data2, data3])

9)时间处理

data['时间'] = pandas.to_datetime(    data.注册时间,     format='%Y/%m/%d')data['格式化时间'] = data.时间.dt.strftime('%Y-%m-%d')data['时间.年'] = data['时间'].dt.yeardata['时间.月'] = data['时间'].dt.monthdata['时间.周'] = data['时间'].dt.weekdaydata['时间.日'] = data['时间'].dt.daydata['时间.时'] = data['时间'].dt.hourdata['时间.分'] = data['时间'].dt.minutedata['时间.秒'] = data['时间'].dt.second

10)数据标准化

data['scale'] = round(    (        data.score-data.score.min()    )/(        data.score.max()-data.score.min()    )    , 2)

11)修改列名和索引

#将id列设为索引df = df.set_index('id')

12)排序

#选定列排序df.sort_values(by=['age', 'gender'], ascending=[False, True], inplace=True, ignore_index=True)

三、列表格式设置

pd.set_option('display.max_rows',xxx) # 最大行数pd.set_option('display.min_rows',xxx) # 最小显示行数pd.set_option('display.max_columns',xxx) # 最大显示列数pd.set_option ('display.max_colwidth',xxx) #最大列字符数pd.set_option( 'display.precision',2) # 浮点型精度pd.set_option('display.float_format','{:,}'.format) #逗号分隔数字pd.set_option('display.float_format',  '{:,.2f}'.format) #设置浮点精度pd.set_option('display.float_format', '{:.2f}%'.format) #百分号格式化pd.set_option('plotting.backend', 'altair') # 更改后端绘图方式pd.set_option('display.max_info_columns', 200) # info输出最大列数pd.set_option('display.max_info_rows', 5) # info计数null时的阈值pd.describe_option() #展示所有设置和描述pd.reset_option('all') #重置所有设置选项

“Pandas数据分析常用函数如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯