首页 > 其他 > 详细

pandas基础

时间:2019-08-06 02:55:18      阅读:87      评论:0      收藏:0      [点我收藏+]
1.Pandas数据结构
  1. Series :是一种类似于一维数组的对象,由一组数据以及一组与之相关的数据标签(即索引)组成。
  2. DataFrame :是一个表格型的数据结构,既有行索引又有列索引的一种数据结构.
2.外部导入数据
  • 导入xlsx
  • 导入CVS
  • 导入txt
  • 导入SQL

格式 :

pd.read_excel(r"D:\Data-Science\share\data\pandas_train.xlsx",encoding = "gbk",engine=‘python‘,sep = " ")

导入SQL :

import pymysql
sql_cmd = "SELECT * FROM memberinfo"
db = pymysql.connect(host = "118.190.201.131",
                     user = "zhangjh",
                     password = "zhangjh123",
                     db = "demo" ,
                     charset = "utf8")
# host:数据库地址/本机使用localhost  
# user:用户名  
# password:密码  
# db:数据库名  
# charset:数据库编码,一般为UTF-8
#注:如果用户名或密码中包含特殊符号@、%等符号时,需要修改密码方可链接


df = pd.read_sql(sql_cmd, db)

总结:

同样数量的数据,导入excel格式是导入csv格式的10倍,所以尽量将表转为csv以后进行处理

3.数据熟悉

head(N)

输出前N行 , 默认5行

shape

输出(行数, 列数)

info()

输出表相关信息

describe()

输出数值型数据的count,中位数,min,max,mean等

4.数据预处理

1.删除缺失值

dropna() 默认删除含有缺失值得行

参数:

how="all" 删除全为缺失值的行

2.填充缺失值

fillna()

#fillna()和dropna()默认会返回一个替换后的新对象,不改变源数据,这个时候将替换后的数据赋值给新的表,如果要改变源数据,通过传入inplace=True进行更改

# 以字典的形式指明要填充的列名

5.重复值处理

对于重复值我们一般是进行删除处理,使用的方法是drop_duplicates()

#subset表示按哪列/几列进行去重

#keep=first表示保留保留第一个,=last表示保留最后一个,=False表示删除所有重复值,默认是first

#inplace表示是否更改源数据

6.异常值处理
  • 最常用的处理方式就是删除。
  • 把异常值当作缺失值来填充。
  • 把异常值当作特殊情况,研究异常值出现的原因。

类型

说明

int

整型数,即整数

float

浮点数,即含有小数点

object

python对象类型,用O表示

string_

字符串类型,经常用S表示,S10表示长度为10的字符串

unicode_

固定长度的unicode类型,跟字符串定义方式一样,经常用U表示

7 索引设置
7.1  为无索引表设置索引

df.columns = ["技能","周数"]

df.index = [‘第一‘, ‘第二‘, ‘第三‘, ‘第四‘]

7.2  重新设置索引

#设置单一索引

df112.set_index("用户编号").head()

#设置层次化索引

df64=df112.set_index(["家庭成员","好坏客户"])

7.3 重命名索引

#利用rename的方法对行/列名进行重命名

columns={"用户编号":"用户编号-测试",

        "好坏客户":"好坏客户-测试"}

index={0:"zero",

      1:"one"}

df112.rename(columns=columns,index=index).head()

7.4 重置索引

reset_index(level=None, drop=False, inplace=False)

 

level 参数用来指定要将层次化索引的第几级别转化为 columns,第一个索引为 0 级,第二个索引为 1 级,默认为全部索引,即默认把索引全部转化为 columns。

drop参数用来指定是否将原索引删掉,即不作为一个新的columns,默认为False, 即不删除原索引。

inplace 参数用来指定是否修改原数据表。

 

pandas基础

原文:https://www.cnblogs.com/liuyuanq/p/11306270.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!