Pandas向量化操作
读一些无用的书,做一些无用的事,花一些无用的时间,都是为了在一切已知之外,保留一个超越自己的机会,人生中一些很了不起的变化,就是来自这种时刻。 比如,你正在我这边文章。
`导入相关库
In [2]:
import numpy as np
import pandas as pd
`Pandas常用的数据结构有两种: Series 和 DataFrame (这些数据结构都是构建在Numpy 数组之上的,则意味着效率很高)
Series series 是一个带有名称 & 索引的一堆数组。 ·数据类型可以是整数、浮点数、字符串以及python的对象等! EG: 我们可以通过series 存储年龄: 18/19/20/21/22 操作: 只需要将要存储的数据构建成一个数组,然后赋值给data 参数即可。
#构建索引
In [3]:
name = pd.Index(["A","B","C","D","E"],name = "name")
In [4]:
#构建Series
age = pd.Series(data=[18,19,20,21,22],index=name, name="user_age")
print(age)
name
A 18
B 19
C 20
D 21
E 22
Name: user_age, dtype: int64
In [ ]:
In [5]:
#指定数据类型为浮点型
age = pd.Series(data=[18,19,20,21,22],index = name,name="user_age",dtype=float)
print(age)
name
A 18.0
B 19.0
C 20.0
D 21.0
E 22.0
Name: user_age, dtype: float64
In [ ]:
Series
特点: 包含了 dict的特点,也就是意味着可以使用与dict类似的一些操作。我们可以将index中的元素看成是dict中的key。
In [6]:
#获取第一个元素
print(age[0])
18.0
In [ ]:
In [7]:
#获取前三个元素
print(age[:3])
name
A 18.0
B 19.0
C 20.0
Name: user_age, dtype: float64
In [ ]:
In [8]:
#获取年龄大女20岁的元素
print(age[age>20])
name
D 21.0
E 22.0
Name: user_age, dtype: float64
In [ ]:
获取第四个和第二个元素
In [9]:
#可以看到,无论我们通过切片如何操作 Series ,它都能够自动对齐 index。
print(age[[3,1]])
name
D 21.0
B 19.0
Name: user_age, dtype: float64
In [ ]:
Series 的向量化操作
series 与 ndarray 一样,支持向量化操作的。同时也可以传递给大多数期望ndarray的Numpy方法!
In [10]:
#针对年龄 整体+ 1
print(age + 1)
name
A 19.0
B 20.0
C 21.0
D 22.0
E 23.0
Name: user_age, dtype: float64
In [ ]:
In [11]:
print(np.exp(age))
name
A 6.565997e+07
B 1.784823e+08
C 4.851652e+08
D 1.318816e+09
E 3.584913e+09
Name: user_age, dtype: float64
文末彩蛋来袭
在这个特殊的节日,您所认为最好的爱情是什么呢?!
我觉得最好的爱情是两个人做个伴,彼此尊重,共同进步;可以有更好的选择,却愿为你停留。
遇见
就是幸福