【机器学习】pandas库进行数据处理的常见操作

作为机器学习中进行数据处理的过程中,数据预处理往往是不可或缺的一个阶段,一般通过numpy与pandas库来对数据进行数据的预处理。本博客旨在对pandas库中的常见操作进行总结,具体涉及到的代码如下:

import pandas as pd

label=[1,0,1,0,1]  #一维序列
data=pd.Series(data=label,index=['a','b','c','e','f'],dtype=int,name='label')
print(data)
print(data['a'])
#dataframe输出
#以字典的形式进行构造
frame=pd.DataFrame({'name':['du','zeng','peng'],'age':[25,25,22],'weight':[60.0,80.5,55.8]})
print(frame)   #默认行索引从0开始
frame1=pd.DataFrame(frame,columns=['name','age'])
print(frame1)
#DataFrame的增删改查,类似列表的属性,可以进行内容的修改
#增加行
frame1['frinds_num']=[10,12,14]
print(frame1)
#删除行
frame2=frame1.drop(['name','age'],axis=1) #可以删除指定轴上的数据
print(frame2)
#查找数据行
frame1=frame1[frame1['frinds_num']>10]
print(frame1)
#通过lambda表达式添加列
frame1['Age_group']=frame1['age'].apply(lambda x: 0 if x < 20 else 1)
print(frame1)
print(frame1.describe())#通过describe()函数获取各个特征的详细信息
print(frame1.describe(include='O'))

首先对Series数据类型进行引入,Series可以看做是一维的字典结构的一个元素,具体的代码如下:

label=[1,0,1,0,1]  #一维列表
data=pd.Series(data=label,index=['a','b','c','e','f'],dtype=int,name='label')
print(data)
print(data['a'])

具体的输出如下,

a    1
b    0
c    1
e    0
f    1

1

Series默认的索引从0开始,这里我们规定索引对象a-f。data['a']的输出为1。

在Series数据中只有一个列的特征,而DataFrame会有多个列的特征,在数据处理中很重要,接下来将一一展示通过DataFrame对象来对数据进行操作处理。具体代码如下:

frame=pd.DataFrame({'name':['du','zeng','peng'],'age':[25,25,22],'weight':[60.0,80.5,55.8]})
print(frame)   #默认行索引从0开始
frame1=pd.DataFrame(frame,columns=['name','age'])
print(frame1)

具体输出如下:首先对定义的DataFrame对象进行输出,在选取其中几列特征元素输出。

0    du   25    60.0
1  zeng   25    80.5
2  peng   22    55.8
   name  age
0    du   25
1  zeng   25
2  peng   22

接下来,对DataFrame对象进行增删改查操作。

#DataFrame的增删改查,类似列表的属性,可以进行内容的修改
#增加行
frame1['frinds_num']=[10,12,14]
print(frame1)
#删除行
frame2=frame1.drop(['name','age'],axis=1) #可以删除指定轴上的数据
print(frame2)
#查找数据行
frame1=frame1[frame1['frinds_num']>10]
print(frame1)
#通过lambda表达式添加列
frame1['Age_group']=frame1['age'].apply(lambda x: 0 if x < 20 else 1)
print(frame1)

 具体输出如下:

  name  age  frinds_num
0    du   25          10
1  zeng   25          12
2  peng   22          14

   frinds_num
0          10
1          12
2          14

   name  age  frinds_num
1  zeng   25          12
2  peng   22          14

   name  age  frinds_num  Age_group
1  zeng   25          12          1
2  peng   22          14          1

最后通过describe()函数显示列特征的一些关键属性

print(frame1.describe())#通过describe()函数获取各个特征的详细信息
print(frame1.describe(include='O'))

具体显示结果如下:

            age  frinds_num  Age_group
count   2.00000    2.000000        2.0
mean   23.50000   13.000000        1.0
std     2.12132    1.414214        0.0
min    22.00000   12.000000        1.0
25%    22.75000   12.500000        1.0
50%    23.50000   13.000000        1.0
75%    24.25000   13.500000        1.0
max    25.00000   14.000000        1.0

        name
count      2
unique     2
top     peng
freq       1

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值