pandas

pandas 常用数据类型

  1. Series 一维,带标签数组
  2. DataFrame 二维,Series容器,DateFrame的每一行每一列都是一个Series
创建Series

在这里插入图片描述
左边的一列为索引,右边的为数据

手动添加索引

在这里插入图片描述

使用字典创建Series

在这里插入图片描述
dtype为Object(字符串)

修改

在这里插入图片描述
此时发现只有具有指定索引的数据被保留了下来

查看series的dtype

在这里插入图片描述

修改series的dtype

在这里插入图片描述

Series切片与索引

根据索引来获取数据
在这里插入图片描述
取多个索引
在这里插入图片描述
当不存在这个索引时,会返回NaN
在这里插入图片描述
根据位置来获取数据
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

获取索引与值

在这里插入图片描述
返回值了迭代,可转换为list操作
在这里插入图片描述
在这里插入图片描述
pandas中保留了很多numpy的方法

读取外部的数据

在这里插入图片描述
还有很多其他读取数据的方法的方法

DataFrame

创建DataFrame

在这里插入图片描述

设置行索引和列索引

每一行每一列都是一个Series
在这里插入图片描述

通过字典创建DataFrame

在这里插入图片描述

通过列表创建DataFrame

在这里插入图片描述
没有对应的键值对,就显示NaN

获取mysql中的数据
import pandas as pd
import pymysql

# # ----------pandas读取mysql的数据
con = pymysql.connect(host="localhost",user="root", password="root",
                      database="test", port=3306)
# 第一种方式
df = pd.read_sql("select * from people ",con=con)
print(df)
# 第二种方式 效果是一样的
cursor = con.cursor()

cursor.execute("select * from people")

data = [i for i in cursor.fetchall()]

cursor.execute("show columns from people")

column_info = cursor.fetchall()

df = pd.DataFrame(data,columns=[i[0] for i in column_info])

print(df)
<<<
   name  age
0  wang   22
1  xiao   23
   name  age
0  wang   22
1  xiao   23

第二种方式是是为了解决 如果我们需要的数据如果没有响应的方法去直接读取时,可以使用DataFrame的创建规则去生成DataFrame

查看行索引

在这里插入图片描述

查看列索引

在这里插入图片描述

查看数据的形状

在这里插入图片描述

查看数据的类型

在这里插入图片描述

查看数据的维度

在这里插入图片描述

其他方法

在这里插入图片描述
describe()可以帮助我们获取统计结果,计数,均值,标准差,最大值最小值

dataframe中排序的方法

在这里插入图片描述

DataFrame的切片操作

在这里插入图片描述
[]中写数字,表示对行操作,
[] 写字符串表示对列操作

列类型

在这里插入图片描述

切片操作

df.loc 通过标签索引行数据 ,通过字符串

df.iloc 通过位置获取行数据,通过数字

loc

在这里插入图片描述

iloc

在这里插入图片描述
在这里插入图片描述

不同的条件可以根据&或者|连接

不同的条件需要用括号,括起来
在这里插入图片描述
pandas的字符串方法
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

缺失数据的处理

判断数据是否为NaN:pd.isnull(df),pd.notnull(df)

处理方式1:删除NaN所在的行列dropna (axis=0, how=‘any’, inplace=False)
处理方式2:填充数据,t.fillna(t.mean()),t.fiallna(t.median()),t.fillna(0)

判断函数
在这里插入图片描述
选择a这一列不为null的Series
在这里插入图片描述
会把含有NaN的行删掉
在这里插入图片描述

这一行全为NaN才删除
在这里插入图片描述
有NaN就删除
在这里插入图片描述
inplace参数会将本身替换
在这里插入图片描述

将NaN填充

fillna函数只是暂时填充,并没有修改DataFrame的原值
在这里插入图片描述

填充数据

在这里插入图片描述对某一列进行数据填充
在这里插入图片描述

在这里插入图片描述
在numpy中如果有一列的某个值为NaN,则这一列的均值为NaN

在这里插入图片描述

处理为0的数据时可以考虑:t[t==0]=np.nan
当然并不是每次为0的数据都需要处理
计算平均值等情况,nan是不参与计算的,但是0会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值