哪个网站可以做头像的外贸网站建设网络公司
Pandas
构建在NumPy之上,继承了NumPy高性能的数组计算功能,同时提供更多复杂精细的数据处理功能
- 安装
pip install pandas - 导入
 
import pandas as pd
 
Series
键值对列表
# 创建Series
s1 = pd.Series([5, 17, 3, 26, 31])
s1
 
0 5
 1 17
 2 3
 3 26
 4 31
 dtype: int64
# 获得Series的元素和索引
s1.values
 
array([ 5, 17, 3, 26, 31])
s1.index
 
RangeIndex(start=0, stop=5, step=1)
# 索引和切片操作
print(s1[2])
print(s1[1:3])
 
3
 1 17
 2 3
 dtype: int64
#既可以用标签索引也可以用位置索引
s1 = pd.Series([5, 17, 3, 26, 31], index=["a","d","b","c","e"])
print(s1)
print(s1["b"])
print(s1[1])
 
a 5
 d 17
 b 3
 c 26
 e 31
 dtype: int64
 3
 17
# 标签索引切片包含结束值
s1["d":"c"]
 
d 17
 b 3
 c 26
 dtype: int64
# 用索引获得任意元素
s1[["a","e","c"]]
 
a 5
 e 31
 c 26
 dtype: int64
# loc:用标签索引 iloc:用位置索引
s2 = pd.Series([5,17,3,26,31], index=[1,3,5,7,9])
print(s2.loc[3])
print(s2.iloc[3])print(s2.loc[1:3]) #包括结束
print(s2.iloc[1:3]) #不包括结束位置
 
17
 26
 1 5
 3 17
 dtype: int64
 3 17
 5 3
 dtype: int64
# 创建Series的另一种方式
s3 = pd.Series({"qc":4.1,"blb":2.2,"xhs":5.3,"td":3.7,"hg":6.8})
s3
 
qc 4.1
 blb 2.2
 xhs 5.3
 td 3.7
 hg 6.8
 dtype: float64
# 查看标签是否存在
"qc" in s3
 
# 可以根据条件筛选
s3[(s3>5)&(s3<6)]
 
# 计算操作索引自动对齐,缺失值用0代替
s1.add(s2, fill_value=0)
 
# 统计信息
s1.describe()
 
count 5.000000
 mean 16.400000
 std 12.401613
 min 3.000000
 25% 5.000000
 50% 17.000000
 75% 26.000000
 max 31.000000
 dtype: float64
# 对元素分别操作
# 使用函数作为参数,不改变原始Series,返回新Series
# grades = scores.apply(get_grade_from_score)
 
Dataframe
数据表格,可以看成由Series组成的字典
- 创建:值是Series或列表,列是各个Series对应的列名
 
df4 = pd.DataFrame({"学号":{"小明":"01","小红":"02","小杰":"03"}, "班级":{"小明":"二班","小红":"一班","小杰":"二班"},"成绩":{"小明":92,"小红":67,"小杰":70}})
df4
 

df4.index #获取索引
df4.columns #获取列名
df4.values #获取值(返回NumPy数组)
# 转置
df4.T
 
df4["班级"]
 
小明 二班
 小红 一班
 小杰 二班
 Name: 班级, dtype: object
df4.班级  #列名也是dataFrame的属性,特殊符号不适用
 
小明 二班
 小红 一班
 小杰 二班
 Name: 班级, dtype: object
df4[["学号", "成绩"]]
 
df4.loc["小红"]
 
学号 02
 班级 一班
 成绩 67
 Name: 小红, dtype: object
df4.loc["小红","成绩"]
 
np.int64(67)
df4.loc[:,"成绩"]
 
df4[df4.成绩 > 67]
 
# 返回前5行  df4.head()
df4.head(2)# 对列赋值:更新或者增加列值
df4["成绩"] = pd.Series([88, 77, 66], index=["小明","小红","小杰"])
df4["性别"] = ["男", "女", "男"]
df4# 对行用loc
df4.loc["小虎"] = ["04", "三班", 99, "男"]
df4df4.drop(["小明", "小虎"]) # 删除行df4.drop("班级", axis=1) # 删除列 axis=1横向依次(判断)操作# df1.mean(axis=1) # 对行求平均值# df1.apply(函数)# 将函数用在每列
# df1.applymap(function) # 用在每个元素
# 原始df并不改变df4.describe() # 忽略非数字列
