pythonpandas数据库_python中使用pandas数据库
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数据库相关推荐
- python读取excel列数据库_python中读取excel数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python配什么数据库_python中常见数据库有哪些
python中常见的数据库有哪些呢?数据库大致分为两大类,第一类是包括关系数据库,第二类是非关系数据库,下面介绍一下这两类数据库的相关知识. 包括关系数据库:sqlite,mysql,mssql 非关 ...
- oracle服务怎么删除数据库,Oracle中手动删除数据库教程
在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库.对此,可以借助drop database命令来实现,下面的描述中给出手动删除数据库. 的具体步骤,包含文件系统数据库以及ASM数据 ...
- python连接mysql数据库数据库_python如何连接mysql数据库
先花点时间来说说一个程序怎么和数据库进行交互 1.和数据库建立连接 2.执行sql语句,接收返回值 3.关闭数据库连接 使用MySQLdb也要遵循上面的几步.让我们一步步的进行. 1.MySQL数据库 ...
- python用sqlite数据库,python 中使用sqlite数据库
sqlite3是使用文件作为数据库,它属于轻量级数据库,支持在多平台下使用. SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守A ...
- python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库
任务:应帅气的领导要求,需要监控生产环境mysql和mongo数据库服务.不仅要connect successful还要进行数据交互进一步确认数据库服务正常. 思路: mysql和mongo 数据库i ...
- python 无法加载mysql数据库_Python无法连接MySQL数据库是什么原因?
我想要使用Python来连接MySQL数据库,但是报了如下错误File "/usr/local/lib/python3.5/dist-packages/pymysql/__init__.py ...
- 安装pandas库报错_python中安装pandas
在运行网上找的代码时,报错:ImportError: No module named 'pandas',解决:安装pandas 安装过程: (因为网上教程有的说用pip命令行安装:有的直接下载安装包, ...
- python pandas 数据库_Python中pandas函数操作数据库
一:创建链接数据库引擎 Python from sqlalchemy import create_engine engine= create_engine('postgresql://user@58. ...
最新文章
- 用python打造一款文件搜索工具,所有功能自己定义!
- Redis学习笔记02--主从数据库配置
- ORACLE 配置文件
- [转]Android fragment 重叠问题——通过hide,show方式导致的解决方法
- 一些重要的算法The Most Important Algorithms
- BUUCTF--pwn picoctf_2018_buffer overflow 0
- 【Windows10】我的电脑从新装到优化配置
- 加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
- AMD、CMD、CommonJS、ES6(import/export)
- Jenkins 插件管理与系统设置
- mac的safari浏览器调试h5
- 办公OA的附件无法下载、打不开的解决办法
- Top的VIRT是什么
- 让你提前认识软件开发(15):程序调试的利器—日志
- pip安装:Cannot uninstall ''. It is a distutils installed project and thus we cannot accurately....解决办法
- automake 框架_centos 配置go-mrico框架
- 区块链-压缩格式的密钥
- webpy+uploadify实现文件异步上传
- 微信小程序下拉刷新/上拉加载组件
- 火星编年史_雷.布拉德伯里