来源:python中国网 时间:2019-07-20

  数组:

  数组的概念可以看做是一群数据的集合,有点类似python的列表、元组,但是并不相同。以后数组指的是ndarray(学习numpy模块就会明白)

  Series数据结构(可以理解为excel的一行或者一列)

  1、Series是一个一维数组(带有标签,标签称为索引),能够保存任何数据类型(整数、字符串、浮点数、Python对象等)。

  2、Series和DataFrame都有索引,只不过DataFrame同时有列和行索引。

  3、Series相比ndarray多了一个索引,相当于一位数组+索引。

  4、Series和dict相比,Series更像有顺序的字典,其中字典的key就是索引,索引可以是数字也可以是字母。

  5、只看s的值,就是ndarray数组

  通过代码来理解:

# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd


arr = np.random.rand(5)
s = pd.Series(arr)
print(arr,type(arr))
print(s,type(s))  # 比adarray多了索引
print('s的索引',s.index,type(s.index))
print('s索引变为列表',list(s.index))
print('s的值',s.values,type(s.values))
D:python3installpython.exe D:/python/py3script/test.py
[0.60688129 0.58453018 0.20058393 0.30090747 0.03934818] 
0    0.606881
1    0.584530
2    0.200584
3    0.300907
4    0.039348
dtype: float64 
s的索引 RangeIndex(start=0, stop=5, step=1) <class 'pandas.core.indexes.range.RangeIndex'>
s索引变为列表 [0, 1, 2, 3, 4]
s的值 [0.60688129 0.58453018 0.20058393 0.30090747 0.03934818] 

Process finished with exit code 0


  Series创建:

  1、通过字典创建,字典的键就是索引,值就是值。

  2、通过数组创建

  3、通过标量创建

  index参数的的值(索引)可以相同,但是应避免这样。

  其他知识:

  1、Series的name属性

  2、rename方法修改name

  代码如下:

# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd


"""
s = pd.Series(data, index=index)
data可以是:
    a Python dict
    an ndarray
    a scalar value (like 5)
index指定索引
"""

# 通过数组创建
arr = np.random.rand(5)
s = pd.Series(arr)
print(s)
s2 = pd.Series(arr,index=['a','b',3,4,1])
print(s2)
print('------------------')

# 通过dict创建
d = {'b': 1, 'a': 0, 'c': 2}
s = pd.Series(d)
print(s)
s2 = pd.Series(d, index=['b', 'c', 'd', 'a'])
print(s2)
print('------------------')

# 通过标量创建
s = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'])
print(s)
print('------------------')

# name属性
print(s.name)
s = s.rename('laodong')
print(s)
D:python3installpython.exe D:/python/py3script/test.py
0    0.967501
1    0.291097
2    0.498748
3    0.139280
4    0.435176
dtype: float64
a    0.967501
b    0.291097
3    0.498748
4    0.139280
1    0.435176
dtype: float64
------------------
b    1
a    0
c    2
dtype: int64
b    1.0
c    2.0
d    NaN
a    0.0
dtype: float64
------------------
a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
dtype: float64
------------------
None
a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
Name: laodong, dtype: float64

Process finished with exit code 0