我是靠谱客的博主 冷傲滑板,最近开发中收集的这篇文章主要介绍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读进来。

Series数据结构

先看Series数据结构:

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

s

0 jin

1 mu

2 shui

3 huo

4 tu

dtype: object

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

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可以相加,也可以定点赋值。

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。

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文件,并且获得其中的信息:

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数据库的全部内容,希望文章能够帮你解决pythonpandas数据库_python中使用pandas数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部