切片操作
s4
=college
[10:20:2]
print(s4
)
结果: 在College中,第十行到第二十行的截图展示,可以对比看打印结果。
seriesapps
=college
['Apps']
seriesapps
[1:10:2]
//输出结果
1 2186
3 417
5 587
7 1899
9 582
Name
: Apps
, dtype
: int64
在College中,第一行到第十行,Apps的值信息,可以对比查看输出结果: 注:要想索引值不是数值,可以查看上一篇set_index,将某个具体的值设置为索引。
copy()与drop()
DataFrame
=iris_data
[:5].copy
()
print(DataFrame
.drop
(index
=[1,3]))
DataFrame
=iris_data
[:5].copy
()
DataFrame
.drop
(columns
=["花萼宽度","花瓣宽度"])
//输出结果。去掉不想要的行,以及不想要的列
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
2 4.9 3.0 1.4 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
花萼长度 花瓣长度 类别
1 5.1 1.4 setosa
2 4.9 1.4 setosa
3 4.7 1.3 setosa
4 4.6 1.5 setosa
5 5.0 1.4 setosa
条件检索
df
=iris_data
.loc
[iris_data
["花萼长度"].isnull
()]
print(df
)
df1
=iris_data
.loc
[iris_data
["花萼长度"].isna
()]
print(df1
)
df2
=iris_data
.loc
[iris_data
["类别"].isnull
()]
print(df2
)
df3
=iris_data
.loc
[iris_data
["类别"].isna
()]
print(df3
)
df2
=iris_data
.loc
[iris_data
["花萼长度"].notnull
()]
print(df2
[:4])
df3
=iris_data
.loc
[iris_data
["花萼长度"].isin
([5.0])]
print(df3
[:5])
//输出结果(一一对应)
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 NaN
3.5 1.4 0.2 NaN
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 NaN
3.5 1.4 0.2 NaN
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 NaN
3.5 1.4 0.2 NaN
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 NaN
3.5 1.4 0.2 NaN
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
5 5.0 3.6 1.4 0.2 setosa
8 5.0 3.4 1.5 0.2 setosa
26 5.0 3.0 1.6 0.2 setosa
27 5.0 3.4 1.6 0.4 setosa
36 5.0 3.2 1.2 0.2 setosa
条件统计
print(iris_data
.loc
[iris_data
["类别"]=="versicolor"].count
())
c1
=sum(iris_data
["类别"]=="setosa")
c2
=sum(iris_data
["类别"]=="versicolor")
c3
=sum(iris_data
["类别"]=="virginica")
print(c1
,c2
,c3
)
iris_data
["类别"].value_counts
()
//输出结果(一一对应,因为自己手动改动了一个值为happy
,所以第三个的统计结果会出现四个值)
花萼长度
50
花萼宽度
50
花瓣长度
50
花瓣宽度
50
类别
50
dtype
: int64
49 50 50
versicolor
50
virginica
50
setosa
49
happy
1
Name
: 类别
, dtype
: int64
条件赋值
DataFrame
=iris_data
[:5].copy
()
DataFrame
.loc
[DataFrame
["花萼长度"]>4.8,"类别"]="大花萼"
print(DataFrame
)
DataFrame
=iris_data
[:5].copy
()
DataFrame
.loc
[DataFrame
["花萼长度"]>4.8]="错误赋值"
DataFrame
//输出结果(一一对应输出)
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 4.2 3.5 1.4 0.2 happy
2 4.9 3.0 1.4 0.2 大花萼
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 大花萼
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
1 4.2 3.5 1.4 0.2 happy
2 错误赋值 错误赋值 错误赋值 错误赋值 错误赋值
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 错误赋值 错误赋值 错误赋值 错误赋值 错误赋值
条件统计
iris_data
["类别"].describe
()
iris_data
["类别"].count
()
print(iris_data
["花萼长度"].max())
print(iris_data
["花萼长度"].min())
print(iris_data
["花萼长度"].mean
())
print(iris_data
["花萼长度"].median
())
print(iris_data
.min())
print(iris_data
.max())
print(iris_data
.mean
())
print(iris_data
.median
())
//输出结果(一一对应)
count
150
unique
4
top versicolor
freq
50
Name
: 类别
, dtype
: object
150
7.9
4.2
5.837333333333335
5.8
花萼长度
4.2
花萼宽度
2
花瓣长度
1
花瓣宽度
0.1
类别 happy
dtype
: object
花萼长度
7.9
花萼宽度
4.4
花瓣长度
6.9
花瓣宽度
2.5
类别 virginica
dtype
: object
花萼长度
5.837333
花萼宽度
3.057333
花瓣长度
3.758000
花瓣宽度
1.199333
dtype
: float64
花萼长度
5.80
花萼宽度
3.00
花瓣长度
4.35
花瓣宽度
1.30
dtype
: float64
print(iris_data
['类别'].unique
())
np
.sort
(iris_data
["花萼长度"].unique
())
iris_agg
=iris_data
.agg
(['max','min','mean','median'])
iris_agg
iris_groupby
=iris_data
.groupby
(["花萼长度"])["花萼长度"].count
()
iris_groupby
//输出结果(一一对应)
['happy' 'setosa' 'versicolor' 'virginica']
array
([4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1, 5.2, 5.3, 5.4,
5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7,
6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.6, 7.7, 7.9])
花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
max 7.900000 4.400000 6.900 2.500000 virginica
min 4.200000 2.000000 1.000 0.100000 happy
mean
5.837333 3.057333 3.758 1.199333 NaN
median
5.800000 3.000000 4.350 1.300000 NaN
iris_groupby
=iris_data
.groupby
(["花萼长度"])["花萼长度"].count
()
iris_groupby
iris_review
=iris_data
.groupby
(['花萼长度'])['类别'].agg
(['min','max'])
iris_review
iris_review1
=iris_data
.groupby
(['花萼长度'])['花瓣长度'].agg
(['min','max'])
iris_review1