pandas有两种数据结构: Series和DataFrame, 这两种结构都构建与numpy的之上,因此效率很高。
Series是带有索引和名称的以为数组,包含的数据类型有浮点型,数值型,字符串,python对象等。
1.构建数组
# 先导入包
import pandas as pd
user = pd.Series(data=[10, 20, 30, 40])
print(user)
'''
0 10
1 20
2 30
3 40
dtype: int64
'''
# 给这些数字加上对应的名字
user.index = ['Tom', 'Jame', 'Jim', 'Maria']
print(user)
'''
Tom 10
Jame 20
Jim 30
Maria 40
dtype: int64
'''
# 给索引 index 命名
user.index.name = 'name'
'''
name
Tom 10
Jame 20
Jim 30
Maria 40
dtype: int64
'''
快速方法:
index_data = pd.Index(['Tom', 'Jame', 'Jim', 'Maria'], name="name")
data = [10, 20, 30, 40]
user = pd.Series(data=data, index=index_data, name='user_info')
print(user)
'''
name
Tom 10
Jame 20
Jim 30
Maria 40
Name: user_info, dtype: int64
'''
2.数组操作
可以根据索引获取值:
user['Tom'] # 10
像数组一样,也支持切片操作:
user[0:2]
name
Tom 10
Jame 20
Name: user_info, dtype: int64
# 获取 user>20 的值
user[user>20]
name
Jim 30
Maria 40
Name: user_info, dtype: int64
# 获取第1行和第3行数据
user[[0, 2]]
name
Tom 10
Jim 30
Name: user_info, dtype: int64
3. 向量化操作:
Sereis 也支持向量化操作
user + 1
name
Tom 11
Jame 21
Jim 31
Maria 41
Name: user_info, dtype: int64
user * 10
name
Tom 100
Jame 200
Jim 300
Maria 400
Name: user_info, dtype: int64
user*[1, 2, 3, 4]
name
Tom 10
Jame 40
Jim 90
Maria 160
Name: user_info, dtype: int64