python

当前位置:首页 > Pandas教程 > 当前文章

Pandas教程

Series创建,name属性,索引index及值values获取

2020-09-24 108赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  数组:

  数组的概念可以看做是一群数据的集合,有点类似python的列表、元组,但是并不相同。在pandas中提到数组一般指的是ndarray(numpy中的数组)

  Series数据结构

  1、Series是一个一维数组(带有索引,索引可以为数值也可以为标签(比如a、b、c)),能够保存任何数据类型(整数、字符串、浮点数、Python对象等)。

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

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

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

  5、Series有索引,也有name属性(可以理解为excel的一列的表头)

  6、只看Series的值,就是ndarray数组


  Series创建(通过字典、数组、标量):

  1、通过字典创建,字典的键就是索引,值就是值。也可以人为指定了index(索引),如果指定的index没有对应的值,那么就会用缺失值(空值)替代。

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

import pandas as pd


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

A    1
B    0
C    2
dtype: int64
==================
A    1.0
B    0.0
c    NaN
d    NaN
dtype: float64


  2、通过数组(np数组、列表、元组等)创建

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

import pandas as pd
import numpy as np

# 通过数组创建
arr = np.random.rand(5)
s = pd.Series(arr)
print(s)
print('============')
s2 = pd.Series(arr,index=['a','b',3,4,1])
print(s2)
0    0.543199
1    0.261755
2    0.464825
3    0.119778
4    0.436607
dtype: float64
============
a    0.543199
b    0.261755
3    0.464825
4    0.119778
1    0.436607
dtype: float64


  3、通过标量创建

  index索引值可以出现相同的,但是应避免这样

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

import pandas as pd
import numpy as np

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


  name属性及rename方法:

  1、Series的name属性(相当于excel的一列添加了表头名)

  2、rename方法修改name

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

import pandas as pd
import numpy as np

# 通过标量创建
s = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'],name = '高度')
print(s)
print('-----------')
s.name = '长度'
print(s)
print('-----------')
s = s.rename('宽度')
print(s)
a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
Name: 高度, dtype: float64
-----------
a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
Name: 长度, dtype: float64
-----------
a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
Name: 宽度, dtype: float64


  Series的index属性(获取索引)、values属性(获取值)

  通过代码来理解:

# -*- 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] <class 'numpy.ndarray'>
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] <class 'numpy.ndarray'>

Process finished with exit code 0

文章评论

Series创建,name属性,索引index及值values获取文章写得不错,值得赞赏