数据分析(三)

Pandas的数据结构

导入pandas:

数据分析三剑客 numpy pandas matplotlib

# 三剑客
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame

1、Series

Series是一种类似于一维数组的对象,由下面两个部分组成:

  • index:相关的数据索引标签

  • values:一组数据(ndarray类型)

    data数据, index索引

    s1 = Series([1,2,3,4])
    s1
    s1.index # 索引
    s1.values
    list(‘abcd’)
    s2 = Series(data=[1,2,3,4],index=list(‘abcd’))
    s2

    还可以用字典的方式去创建 数列

    Series({‘a’:1,‘b’:2,‘c’:3})
    #a 1
    #b 2
    #c 3
    #dtype: int64

1)Series的创建

两种创建方式:

扫描二维码关注公众号,回复: 4092383 查看本文章

(1) 用列表形式创建

(2) 用字典形式创建

2)Series的索引和切片

显式索引:

  • 使用index中的元素作为索引值
  • 使用.loc[‘索引名’](推荐)

示例:

  • 索引
  • 切片 注意,字符索引是闭区间 [start:end]
  • 取多个值

隐式索引:

  • 使用整数作为索引值
  • 使用.iloc[ 索引号 ](推荐)

示例:

  • 索引
  • 切片 注意,编号索引是左闭右开区间 [start,end)
  • 取多个值

3)Series的常用属性和方法

可以把Series看成一个定长的有序字典

可以通过shape,size,index,values等得到series的属性

可以通过head(),tail()快速查看Series对象的样式

s.head(2)看头两个 s.tail(1)看后一个

Series中如果值是None,会被转成NaN。并且计算时会被当成0(ndarray不会)

可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull() 函数检测值为None或NaN的数据

另外 series对象有一个name属性可以用来区分不同的series

4)Series的运算

(1) 适用于numpy的数组运算也适用于Series

(2) Series之间的运算

  • 在运算中自动对齐不同索引的数据
  • 如果索引不对应,则补NaN(值和NaN相加的结果还是NaN,如果想要让NaN的值当作0处理,可以用s1.add(s2,fill_value=0)来处理)

猜你喜欢

转载自blog.csdn.net/m0_37906230/article/details/84072956