京公网安备 11010802034615号
经营许可证编号:京B2-20210330
pandas 是为了解决数据分析任务而创建的Python 库,源于NumPy ,经常被用于对数据挖掘前期数据的处理工作。pandas提供了大量的处理数据的函数和方法,并且还纳入了大量库与很多标准的数据模型,能让我们更加高效地处理大型数据集。但是大家在使用pandas的过程中,经常会遇到这样那样的问题,下面,小编就整理了一些大家需要掌握的pandas 的基础知识,希望对大家有所帮助。
以下文章来源于: 数据分析1480
作者:刘顺祥
背景介绍
经常会有一些朋友问我类似的问题,“哎呀,这个数据该怎么处理啊,我希望结果是这样的,麻烦刘老师帮我看看。”、“刘老师,怎么把一列数据拆分出来,并取出最后一个拆分结果呀?”、“刘老师,怎么将Json数据读入到Python中呢?”。在我看来,这些问题都可以借助于Pandas模块完成,因为Pandas属于专门做数据预处理的数据科学包。下面来介绍一下我认为Pandas模块中需要掌握的功能和函数。
数据读写
案例演示
# 读入MySQL数据库数据 # 导入第三方模块 import pymysql # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='root', password='test', database='test', port=3306, charset='utf8') # 读取数据 user = pd.read_sql('select * from topy', conn) # 关闭连接 conn.close() # 数据输出 User
数据初印象
案例演示
# 数据读取
sec_cars = pd.read_table(r'C:\Users\Administrator\Desktop\sec_cars.csv', sep = ',')
# 预览数据的前五行
sec_cars.head()
# 查看数据的行列数
print('数据集的行列数:\n',sec_cars.shape)
# 查看数据集每个变量的数据类型
print('各变量的数据类型:\n',sec_cars.dtypes)
# 数据的描述性统计
sec_cars.describe()
案例演示
# 数据读入
df = pd.read_excel(r'C:\Users\Administrator\Desktop\data_test05.xlsx')
# 缺失观测的检测
print('数据集中是否存在缺失值:\n',any(df.isnull()))
# 删除法之记录删除
df.dropna()
# 删除法之变量删除
df.drop('age', axis = 1)
# 替换法之前向替换
df.fillna(method = 'ffill')
# 替换法之后向替换
df.fillna(method = 'bfill')
# 替换法之常数替换
df.fillna(value = 0)
# 替换法之统计值替换
df.fillna(value = {'gender':df.gender.mode()[0], 'age':df.age.mean(),
'income':df.income.median()})
类型转换与元素及运算
案例演示
# 数据读入
df = pd.read_excel(r'C:\Users\Administrator\Desktop\data_test03.xlsx')
# 将birthday变量转换为日期型
df.birthday = pd.to_datetime(df.birthday, format = '%Y/%m/%d')
# 将手机号转换为字符串
df.tel = df.tel.astype('str')
# 新增年龄和工龄两列
df['age'] = pd.datetime.today().year - df.birthday.dt.year
df['workage'] = pd.datetime.today().year - df.start_work.dt.year
# 将手机号中间四位隐藏起来
df.tel = df.tel.apply(func = lambda x : x.replace(x[3:7], '****'))
# 取出邮箱的域名
df['email_domain'] = df.email.apply(func = lambda x : x.split('@')[1])
# 取出人员的专业信息
df['profession'] = df.other.str.findall('专业:(.*?),')
# 去除birthday、start_work和other变量
df.drop(['birthday','start_work','other'], axis = 1, inplace = True)
数据合并、连接与汇总
案例演示
# 构造数据集df1和df2 df1 = pd.DataFrame({'name':['张三','李四','王二'], 'age':[21,25,22], 'gender':['男','女','男']}) df2 = pd.DataFrame({'name':['丁一','赵五'], 'age':[23,22], 'gender':['女','女']}) # 数据集的纵向合并 pd.concat([df1,df2] , keys = ['df1','df2']) # 如果df2数据集中的“姓名变量为Name” df2 = pd.DataFrame({'Name':['丁一','赵五'], 'age':[23,22], 'gender':['女','女']}) # 数据集的纵向合并 pd.concat([df1,df2]) # 构造数据集 df3 = pd.DataFrame({'id':[1,2,3,4,5],'name':['张三','李四','王二','丁一','赵五'], 'age':[27,24,25,23,25],'gender':['男','男','男','女','女']}) df4 = pd.DataFrame({'Id':[1,2,2,4,4,4,5], 'score':[83,81,87,75,86,74,88] 'kemu':['科目1','科目1','科目2','科目1','科目2','科目3','科目1']}) df5 = pd.DataFrame({'id':[1,3,5],'name':['张三','王二','赵五'], 'income':[13500,18000,15000]}) # 三表的数据连接 # 首先df3和df4连接 merge1 = pd.merge(left = df3, right = df4, how = 'left', left_on='id', right_on='Id') merge1 # 再将连接结果与df5连接 merge2 = pd.merge(left = merge1, right = df5, how = 'left') merge2
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在校期间能考的证书,大致落在四类里:通用基础类、岗位技能与行业认证类、专业技术资格类、国家职业资格与职业技能等级类。但比 ...
2026-11-04先把结论说清楚:大学生能自学考的证,主要集中在三类。第一类是通用基础类,比如大学英语四六级、全国计算机等级考试、普通话水 ...
2026-11-04大学生考哪些证书好,没有一个统一答案。有人说的“好”是好考、周期短,有人指招聘时用得上,还有人看长期职业壁垒。三种口径排 ...
2026-11-04“什么证书值得考”没有一个统一答案。同一张证书,对准入岗位是硬门槛,对另一类岗位可能只是加分项;对在校生是求职准备,对在 ...
2026-11-04“女生考什么证比较好”这个问题,真正的难点不在“女生”,而在“比较好”三个字。对一个人来说,好报、好考、好就业往往不是同 ...
2026-11-04离开校园后考证书,最怕两件事:花几个月备考,发现报考条件不符;或者考下来,岗位用不上。社会人士选证书,先别急着看榜单,先 ...
2026-11-04“女孩子适合考什么证书”很难用一张榜单回答。“适合”包含太多变量:求稳进体制或学校,靠技能接单变现,还是进入运营、市场、 ...
2026-11-04先把结论说清楚:选证书不看性别。“男的适合考什么”这个问题里,真正有用的是三个变量——你想去的岗位、你现有的能力基础、你 ...
2026-11-04“哪些证书属于技能证书”,没法靠一份名单回答。技能证书不是某一部门统一颁发的单一证书,而是按发证主体和评价性质划分的一类 ...
2026-11-04“哪些是职业资格证书”这个问题,答案比多数人想的要窄。按照现行制度,职业资格证书主要指列入国家职业资格目录的证书,分为准 ...
2026-11-04想考证,但单位不统一组织,能不能自己报名?答案是:能,但前提是先分清三类证书——个人可独立报考、需单位统一组织、需机构代 ...
2026-11-04“好考又有用”是证书选择里最常被并列、也最容易被混淆的两个条件。好考,可能指报名不设门槛,也可能指考试科目少、通过难度低 ...
2026-11-04“含金量排名前十证书”是一个搜索量很大、但很难有标准答案的问题。原因不复杂:证书的价值依附于具体岗位和制度属性。注册会计 ...
2026-11-04“国内认可的证书”不是一个单一概念。有人问的是国家职业资格,有人问的是职称,有人问的是行业认证,还有人把培训机构发的结业 ...
2026-11-04高中生搜“可以考什么证书”,最常踩的坑不是选错方向,而是没看清报名门槛就付了费。直接回答:高中在读期间,真正能报的主要是 ...
2026-11-04“都有什么证书可以考取”这个问题,直接搜会得到一堆互相矛盾的榜单。更有效的做法不是先问“哪个最值钱”,而是先分清证书的性 ...
2026-11-04大专在读期间能考的证书,比很多人想象的要多,但真正值得花时间的并不多。核心判断顺序只有一条:先看当期官方公告是否允许专科 ...
2026-11-04大一刚入学就琢磨考证,这个念头本身不坏,但顺序容易搞反。直接回答:大一不必急着考高门槛、强专业背景的证书,优先把英语四六 ...
2026-11-04大学生考证书,没有一张“人人都该考”的清单。更实用的做法是:先确定目标岗位方向,再按“岗位匹配→在校可考→校招实用→学习 ...
2026-11-04大学生能考的证书很多,但真正值得先花时间的,不是“名字听起来厉害”的那几张,而是能对应到你目标岗位、且在校期间确实报得上 ...
2026-11-04