python机器学习入门之pandas的使用(超详细,必看)

pandas是基于numpy的一种工具 同样用于数据分析

pandas主要处理以下三种数据结构

1:series 一维数组  接近python中的list

2:DataFrame 二维数据结构 其可以理解为series的容器 其内部的每项元素可以看成一个series 在机器学习中经常用到

3:panel 三维数组 可以理解为DataFrame的容器

1:创建一个series对象

import pandas as pd
s=pd.Series([1,3,5,6,8,9])
print(s)

可以通过赋值操作直接修改Series对象成员的值

s[1]=5

根据条件表达式筛选数据

s=pd.Series([1,3,5,6])
b=pd.Series([4,5,6,6])
print(s[s>2])

通过drop函数可以删除对象成员

2:DateFrame是一个表格型的数据结构 包括行索引和列索引

import pandas as pd
dict1={'col1':[2,4,5,3],'col2':['a','b','c','d']}
df=pd.DataFrame(dict1)
print(df)

访问DataFrame有多种方法 可以通过下标和索引等等

import pandas as pd
ser=pd.Series(np.arange(4),index=['a','b','c','d'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['AJ','BJ','CJ','DJ'],columns=['q','r','s','t'])
print("ser['c]:",ser['c'])
print("ser 2:",ser[2])
print("date q:",data['q'])
print("data q t:",data[['q','t']])

loc方法则是通过索引名抽取数据 iloc则是通过下标值抽取数据

3:数据对齐

pandas有个很好的功能是对齐不同索引的数据 如两个数据对象相加 如果索引不同则结果的索引是这两个索引的并集

3.2:缺失数据的处理

NA值会带入后续的操作导致出错 所以dropna方法可以预先过滤缺失数据

会默认丢失所以含有缺失值的行 如果想对列进行过滤则把axis=1即可

参数how可以根据行或者列中的NA数量来决定是否删除行或列 常用的有all或者any

from numpy import nan as NA
data=pd.Series([1,NA,3.5,NA,7])
data.dropna()

3.3:notnull函数可以判断空值 下面的代码可以过滤空值

s1=pd.Series(['one','two','thress',NA,None])
print(s1[s1.notnull()])

3.4:填充缺失数据 如果不想删除有缺失值的行和列 可以用fillna方法填充数据

s1=pd.Series(['one','two','thress',NA,None])
print(s1[s1.notnull()])
print(s1.fillna('ljl'))

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值