第六章 数据选择
1.列选择
a)普通索引
# 列选择
# 普通索引
df_01 = df_0[['时间','会员收入(万元)']]
b)位置索引
用iloc
# 位置索引 使用iloc,选中的列要用[]框起来
df_02 = df_0.iloc[:,[0,6]]
c)切片索引
iloc 后的方括号中逗号之前的部分表示要获取的行的位置,只输入一个冒号,不输入任何数值表示获取所有的行;
逗号之后的方括号表示要获取的列的位置,列的位置同样是也是从0开始计数。
# 切片索引 iloc[A:B,C:D]
df_03 = df_0.iloc[:,0:2]
2.行选择
a)普通索引
loc
# 普通索引
# 使用loc
# loc['行的名称']
# loc[['行的名称一','行的名称二']]
# 使用iloc
# iloc[第XX行]
# iloc[[第XX行,第XX行]]
b)位置索引
iloc
# 位置索引
df_01 = df_0.loc[[0,1]]
# 切片索引
df_01 = df_0.iloc[0:2]
c)选择满足条件的行
布尔索引
# 根据单一条件筛选行
df_02 = df_0[df_0['月有效使用时长(万分钟)']>400000]
# 根据多个条件筛选行
df_03 = df_0[(df_0['月有效使用时长(万分钟)']>400000) & (df_0['注册人数(万)']<14000)]
3.行列同时选择
普通索引+普通索引就是通过同时传入行和列的索引名称进行数据选择,需要用到loc方法。
位置索引+位置索引是通过同时传入行、列索引的位置来获取数据,需要用到iloc方法。
布尔索引+普通索引是先对表进行布尔索引选择行,然后通过普通索引选择列。
切片索引+切片索引是通过同时传入行、列索引的位置区间进行数据选择。
交叉索引:切片索引+普通索引,也就是行(列)用切片索引,列
(行)用普通索引,要用ix方法
第七章 数值操作
1.替换
a)一对一替换:
replace(A,B)表示将A替换成B
- 对具体某一列的数值进行替换
- 对整个表进行替换
np.NaN是Python中对缺失值的一种表示方法
b)多对一的替换:
把一块区域中的多个值替换成某一个值
replace([A,B],C)表示将A、B替换成C。
c)多对多替换:
借助replace()方法
替换值与待替换值用字典的形式表示,replace({“A”:“a”,“B”:“b”}表示用a替换A,用b替换B。
2.排序
a)按照一列数值进行排序:
整个数据表都以某一列为准,进行升序或降序排列。
sort_values()
ascending = False表示降序排列。
ascending = True 表示升序排列。默认值为 True 升序。
b)按照有缺失值的列进行排序
当待排序的列中有缺失值时,可以通过设置na_position参数对缺失值的显示位置进行设置。
na_position = “last” 表示将缺失值显示在最后,默认参数值为last,
na_position = “first” 将缺失值显示在最前面
c)按照多列数值进行排序
同时依据多列数据进行升序、降序排列,当第一列出现重复值时按照第二列进行排序,当第二列出现重复值时按照第三列进行排序,以此类推。
sort_values(),在sort-values后的括号中以列表的形式指明要排序的多列列名及每列的排序方式即可。
3.排名
排名会新增一列,这一列用来存放数据的排名情况,排名是从1开始的。
rank()方法
参数一:ascending,指明升序排列还是降序排列,默认为升序排列,
参数二:method,指明待排列值有重复值时的处理情况。
参数method可取的不同参数值及说明
4.删除
删除列
删除行
删除特定行
5.计数
value_counts()
6.唯一值
unique()
7.查找
isin()
8.区间划分
cut()
9.插入
insert()
10.行列互换
.T
11.索引重塑
将原来的索引进行重新构造
stack()
unstack()
12.长宽表转换
宽表转化为长表
长表转化为宽表
13.apply( )与 applymap( )函数
在DataFrame中与map()函数类似的函数有两个,apply() 和 applymap()函数,都需要与匿名函数lambda结合使用。
apply():主要用于对DataFrame中的某一column或row中的元素执行相同操作。
applymap():用于对DataFrame中的每个元素执行相同的函数操作。