python中使用pandas数据库

利用pandas进行数据分析,以及试用一下jupyter notebook

import pandas as pd

from pandas import DataFrame, Series

pandas中有两种基本数据类型,Series 和 DataFrame,Series就是带有index的序列,而DataFrame是能够定义index和column的标签的二维数据结构,有点相似于excel表格的样式。而excel表格也能够存成csv格式,而后用pandas的DataFrame读进来。python

Series数据结构

先看Series数据结构:web

s = Series(['jin','mu','shui','huo','tu'])

s

0 jin

1 mu

2 shui

3 huo

4 tu

dtype: object

Series有values和index两个属性,分别查看序列的值和序号,序号也是能够自定义的。spring

s.values

array(['jin', 'mu', 'shui', 'huo', 'tu'], dtype=object)

s.index

RangeIndex(start=0, stop=5, step=1)

s = Series(['jin','mu','shui','huo','tu'],index = ['autumn','spring','winter','summer','long summer'])

s

autumn jin

spring mu

winter shui

summer huo

long summer tu

dtype: object

s = Series(s,index = ['autumn','spring','winter','summer','long summer','others'])

s

autumn jin

spring mu

winter shui

summer huo

long summer tu

others NaN

dtype: object

上面能够看出,添加一个index会增长一个value为NaN的项目。数据库

s.isnull()

autumn False

spring False

winter False

summer False

long summer False

others True

dtype: bool

pd.isnull(s)

autumn False

spring False

winter False

summer False

long summer False

others True

dtype: bool

pd.notnull(s)

autumn True

spring True

winter True

summer True

long summer True

others False

dtype: bool

s['winter']

'shui'

s = Series({'winter':1,'summer':2,'spring':3})

s

spring 3

summer 2

winter 1

dtype: int64

用python的字典dict也能生成Series。而后Series能够相加,也能够定点赋值。bash

b = Series([67,78,89],index=['winter','summer','spring'])

b

winter 67

summer 78

spring 89

dtype: int64

s + b

spring 92

summer 80

winter 68

dtype: int64

s['spring'] = 89

s

spring 89

summer 2

winter 1

dtype: int64

s[s>1]

spring 89

summer 2

dtype: int64

总结,Series能够用list或者字典生成,其中包含index和对应的values,生成的时候前面是value后面的是index,能够不指定index,也能够自定义。能够对Series数据结构进行根据条件取出部分元素的操做,也能够不一样的Series之间加减数据结构

DataFrame数据结构

DataFrame是二维的数据结构,存成矩阵,行叫作index,和Series一直,列叫作column。生成一个这样的数据体能够用一下的方法,就是字典的方法,其中字典的key对应于column,联想excel表格中的项目,是对应的。dict中的value用一个list表示,这个list就是DataFrame的key属性这一列的values。svg

df = DataFrame({'jin':[0.1,0.8,0.4],'mu':[0.5,0.7,0.6]})

df

jin

mu

0

0.1

1

0.8

2

0.4

df = DataFrame({'jin':[0.1,0.8,0.4],'mu':[0.5,0.7,0.6]},index=['person1','person2','person3'])

df

jin

mu

person1

0.1

person2

0.8

person3

0.4

df = DataFrame(df,columns=['jin','mu','shui','huo','tu'],index=['person1','person2','person3','person4'])

df

jin

mu

shui

huo

tu

person1

0.1

0.5

NaN

NaN

person2

0.8

0.7

NaN

NaN

person3

0.4

0.6

NaN

NaN

person4

NaN

NaN

NaN

NaN

提取某一个column,即某一个属性值。函数

df['jin']

person1 0.1

person2 0.8

person3 0.4

person4 NaN

Name: jin, dtype: float64

from numpy import arange

somecolumn = arange(0.1,0.8,0.3)

scln = Series(somecolumn,index = ['person1','person3','person4'])

df['shui'] = scln

df

jin

mu

shui

huo

tu

person1

0.1

0.5

0.1

NaN

person2

0.8

0.7

NaN

NaN

person3

0.4

0.6

0.4

NaN

person4

NaN

NaN

0.7

NaN

用DataFrame结构能够操做csv文件,而且得到其中的信息:ui

csv文件:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,由于分隔字符也能够不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须象二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最多见的是逗号或制表符。一般,全部记录都有彻底相同的字段序列。CSV文件格式的通用标准并不存在,可是在RFC 4180中有基础性的描述。使用的字符编码一样没有被指定,可是7-bit ASCII是最基本的通用编码。CSV是一种通用的、相对简单的文件格式,被用户、商业和科学普遍应用。最普遍的应用是在程序之间转移表格数据,而这些程序自己是在不兼容的格式上进行操做的(每每是私有的和/或无规范的格式)。由于大量程序都支持某种CSV变体,至少是做为一种可选择的输入/输出格式。编码

trainpath = './titanic/train.csv'

testpath = './titanic/test.csv'

trainset = pd.read_csv(trainpath)

trainset.head() # 看看前几行的内容

PassengerId

Survived

Pclass

Name

Sex

Age

SibSp

Parch

Ticket

Fare

Cabin

Embarked

0

1

0

3

Braund, Mr. Owen Harris

male

22.0

1

0

A/5 21171

7.2500

NaN

1

2

1

1

Cumings, Mrs. John Bradley (Florence Briggs Th…

female

38.0

1

0

PC 17599

71.2833

C85

2

3

1

3

Heikkinen, Miss. Laina

female

26.0

0

0

STON/O2. 3101282

7.9250

NaN

3

4

1

1

Futrelle, Mrs. Jacques Heath (Lily May Peel)

female

35.0

1

0

113803

53.1000

C123

4

5

0

3

Allen, Mr. William Henry

male

35.0

0

0

373450

8.0500

NaN

type(trainset)

pandas.core.frame.DataFrame

trainset.info()

RangeIndex: 891 entries, 0 to 890

Data columns (total 12 columns):

PassengerId 891 non-null int64

Survived 891 non-null int64

Pclass 891 non-null int64

Name 891 non-null object

Sex 891 non-null object

Age 714 non-null float64

SibSp 891 non-null int64

Parch 891 non-null int64

Ticket 891 non-null object

Fare 891 non-null float64

Cabin 204 non-null object

Embarked 889 non-null object

dtypes: float64(2), int64(5), object(5)

memory usage: 83.6+ KB

trainset.shape

(891, 12)

trainset.describe()

PassengerId

Survived

Pclass

Age

SibSp

Parch

Fare

count

891.000000

891.000000

891.000000

714.000000

891.000000

891.000000

mean

446.000000

0.383838

2.308642

29.699118

0.523008

0.381594

std

257.353842

0.486592

0.836071

14.526497

1.102743

0.806057

min

1.000000

0.000000

1.000000

0.420000

0.000000

0.000000

25%

223.500000

0.000000

2.000000

20.125000

0.000000

0.000000

50%

446.000000

0.000000

3.000000

28.000000

0.000000

0.000000

75%

668.500000

1.000000

3.000000

38.000000

1.000000

0.000000

max

891.000000

1.000000

3.000000

80.000000

8.000000

6.000000

数据基本样貌已经了解,接下来能够利用pandas结合seaborn和matplotlib等库函数对数据进行EDA(exploratory data analysis),深刻了解数据样态,并为后续处理作准备。

pythonpandas数据库_python中使用pandas数据库相关推荐

  1. python读取excel列数据库_python中读取excel数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. python配什么数据库_python中常见数据库有哪些

    python中常见的数据库有哪些呢?数据库大致分为两大类,第一类是包括关系数据库,第二类是非关系数据库,下面介绍一下这两类数据库的相关知识. 包括关系数据库:sqlite,mysql,mssql 非关 ...

  3. oracle服务怎么删除数据库,Oracle中手动删除数据库教程

    在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库.对此,可以借助drop database命令来实现,下面的描述中给出手动删除数据库. 的具体步骤,包含文件系统数据库以及ASM数据 ...

  4. python连接mysql数据库数据库_python如何连接mysql数据库

    先花点时间来说说一个程序怎么和数据库进行交互 1.和数据库建立连接 2.执行sql语句,接收返回值 3.关闭数据库连接 使用MySQLdb也要遵循上面的几步.让我们一步步的进行. 1.MySQL数据库 ...

  5. python用sqlite数据库,python 中使用sqlite数据库

    sqlite3是使用文件作为数据库,它属于轻量级数据库,支持在多平台下使用. SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守A ...

  6. python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库

    任务:应帅气的领导要求,需要监控生产环境mysql和mongo数据库服务.不仅要connect successful还要进行数据交互进一步确认数据库服务正常. 思路: mysql和mongo 数据库i ...

  7. python 无法加载mysql数据库_Python无法连接MySQL数据库是什么原因?

    我想要使用Python来连接MySQL数据库,但是报了如下错误File "/usr/local/lib/python3.5/dist-packages/pymysql/__init__.py ...

  8. 安装pandas库报错_python中安装pandas

    在运行网上找的代码时,报错:ImportError: No module named 'pandas',解决:安装pandas 安装过程: (因为网上教程有的说用pip命令行安装:有的直接下载安装包, ...

  9. python pandas 数据库_Python中pandas函数操作数据库

    一:创建链接数据库引擎 Python from sqlalchemy import create_engine engine= create_engine('postgresql://user@58. ...

最新文章

  1. 用python打造一款文件搜索工具,所有功能自己定义!
  2. Redis学习笔记02--主从数据库配置
  3. ORACLE 配置文件
  4. [转]Android fragment 重叠问题——通过hide,show方式导致的解决方法
  5. 一些重要的算法The Most Important Algorithms
  6. BUUCTF--pwn picoctf_2018_buffer overflow 0
  7. 【Windows10】我的电脑从新装到优化配置
  8. 加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
  9. AMD、CMD、CommonJS、ES6(import/export)
  10. Jenkins 插件管理与系统设置
  11. mac的safari浏览器调试h5
  12. 办公OA的附件无法下载、打不开的解决办法
  13. Top的VIRT是什么
  14. 让你提前认识软件开发(15):程序调试的利器—日志
  15. pip安装:Cannot uninstall ''. It is a distutils installed project and thus we cannot accurately....解决办法
  16. automake 框架_centos 配置go-mrico框架
  17. 区块链-压缩格式的密钥
  18. webpy+uploadify实现文件异步上传
  19. 微信小程序下拉刷新/上拉加载组件
  20. 火星编年史_雷.布拉德伯里

热门文章

  1. Javascript 斐波那契数列
  2. mysql怎么打开bak文件怎么打开吗_bak文件怎么打开
  3. 强烈不建议买松下微波炉
  4. 最近最火的《大秦赋》,用Python抓取相关数据,发现了秘密
  5. ISO, ASTM, JIS
  6. 日本全身防坠安全带/登山扣JIS认证,JIS T8165测试标准
  7. rtl8192fu无线网卡在Linux下打驱动
  8. 两个数组对应数相减java_Java 将两个数组相减(按组件)
  9. python 11高级特性
  10. Ubuntu20.04 手动安装Golang.