pandas基础

1什么是pandas

  • pandas是一个可编程的ETL框架(支持多种数据源的导入)非常nb!
  • 一般用来做数据的处理,比较常见运行在jupyter做数据处理
  • 主要类型为DataFrame,Series
  • DataFrame 包含index,values,column
  • Series 只包含 index,values 他有点像一个列表

2.pandas基本操作

       2.1增

我们一般把一个DataFrame 数据 写作一个df
column =["周1","周2","周4","周5"]
index= ["语文","数学","外语","魔法"]
values = [[1,0,1,0],[0,0,1,0],[1,0,1,0],[0,0,1,0]]
df = pd.DataFrame(data=values,index=index,columns=column)
df

在这里插入图片描述
如果你想加入一列
我比较常用的写法是

df["姓名"]=["里斯","张三","王武","赵六"]
df

"__________________如果你要指定位置的话__________________"
"这里的 4 指的是indxe(索引) 实际情况根据你的需要自己写"
df.insert(4,column="姓名",value=["里斯","张三","王武","赵六"])

在这里插入图片描述

如果你觉得column 不是你想要的效果

"通过给变量重新赋值的方式  达到你的目的"
df = df[["姓名","周1","周2","周4","周5"]]

在这里插入图片描述
增加行数据通过创建 pd.Series

_ = pd.DataFrame(
    data=    [["王武",0,1,1,0]],
    index=["物理"],
    
    columns=["姓名","周1","周4","周5","性别"]
)
df.append(_)

在这里插入图片描述

       2.2删

删除某一列数据

del df["周2"]

在这里插入图片描述
删除某一行数据

"根据索引删除"
df.drop(index=?,inplace=True)

       2.3改

通常可以通过给字段重新赋值的方式 重置掉字段

df["周1"]=[1,1,1,1]

在这里插入图片描述

       2.4查


"单列查询"
df.column
df[column]
"多列查询"
df[[column1,column2,column3,column4.....,column N]]
# 条件查询语句  他有点类似  mysql 的 sql 语句同样他也可以在结果最后分组group by聚合和sql的一样
"loc[筛选条件,数据项]  值得一提的是  or在这里用 |表示   and 用 &表四"

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

2.4.1 模糊查询条件

df[“字段”].str.contains("包含的字“),[数据项]

在这里插入图片描述

2.4.2统计

在这里插入图片描述

  • mean() 平均值
  • idxmax()返回最大的索引
  • meadian()中位数
  • value_counts()统计 出现的个数
  • .sort_values(by=“支付金额/¥”,ascending=False)

pandas基础数据类型

  • numpy 存在信息损失 但是pandas 可以弥补这一缺陷
import sqlite3 as sq3
import pandas as pd
conne =  sq3.connect("10万条照招聘数据/10万条招聘数据/recruit.db")
df = pd.read_sql("select * from recruit",conne)
df.info()

直方图

pandas

在这里插入图片描述

import pandas as pd

df = pd.read_csv("Titanic.csv")
# 年龄分布
df["Age"].plot(kind='hist')
#黄色各个年龄段存活人数
df[df["Survived"] ==1]["Age"].plot(kind="hist")

#绿色代表各个年龄段的死亡人数
df[df["Survived"] ==0]["Age"].plot(kind="hist")

请在命令台或者notebook中执行
plot


plot

  • kind 图标类型
  • bins 分成多少断
  • normed 是否否和正态分布

  • 对于脱敏数据的通过直方图可以预测,
    直方图的中心点分离的越多,重合越少代表这个特征越好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值