访问元素
.loc属性可以通过传入index的值访问行数据。
.loc属性允许传入两个参数,分别是index的值和columns的值,参数间用“逗号”隔开,这样便可以访问数据中的元素。
1. 访问单个元素
访问单个元素比较简单,只需要通过它的index和columns就可以进行定位。
| 访问单个元素,需要依次将它的index的值和columns的值传入.loc的中括号里,用“逗号”隔开。 格式:.loc[index的值,columns的值] | 
| import pandas as pd # 使用pd.read_csv()函数读取CSV文件 # 并通过参数index_col来指定"order_id"列为index # 将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id") # 使用print()和.loc属性输出data变量里:index为3515712,columns为"payment"对应的元素 print(data.loc[3515712,"payment"]) | 
| 218378912 | 
总结:访问变量data中的单个数据的格式是:data.loc[index的值,columns的值]
2. 访问多个元素
同理,如果想访问多个元素,我们只需要找到它们对应的index和columns即可。
| 如果想访问多个元素,我们可以使用.loc属性结合切片或列表进行访问,组合情况较多。 格式:.loc[index切片或列表,columns切片或列表] | 
| import pandas as pd # 使用pd.read_csv()函数读取CSV文件 # 并通过参数index_col来指定"order_id"列为index # 将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id") # 使用print()和.loc属性输出data变量里:index为3515712到3515714,columns为"payment"对应的元素 print(data.loc[3515712:3515714,"payment":"items_count"]) | 
| 
 | 
总结:
按照index的值访问行数据
访问DataFrame对象中的.loc属性可以按照index的值访问行数据。
 1.访问某一行:.loc[index的值]
 2.访问连续的某几行:.loc[起点index的值:结束index的值],包含结束index这一行值
 3.访问不连续的某几行:.loc[[第一个index的值,第二个index的值,...]]
 4.访问单个元素:.loc[index的值,columns的值]
 5.访问多个元素:.loc[index切片或列表,columns切片或列表]
上面,用.loc属性和index的值访问行数据。
其实,除了通过index的值去定位,我们还可以通过"第几行"去定位行数据。下面,通过学习.iloc属性和行数据的位置来访问行数据。

访问行数据
.iloc属性是基于数据的整数索引,也就是数据的具体位置,来定位具体的行。索引是从0开始,所以,第1行对应的整数索引就是0。

1.访问某一行
格式:.iloc[index的位置]
如果要通过行数据所在的具体位置来访问某一行数据,需要将这一行的整数索引传入.iloc属性的中括号里。
Like:访问第1行(对应的整数索引是0);访问第3行(对应的整数索引是2)
| # 导入pandas模块,并以"pd"为该模块的简写 import pandas as pd # 读取CSV文件,并将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv") # 使用print()和.iloc属性输出data变量里第四行的数据 print(data.iloc[3]) | 
| id 4 order_id 3515715 user_id 46519215 payment 8500 price 8500 items_count 4 cutdown_price 0 post_fee 0 pay_type 202 create_time 2018/2/1 0:05 pay_time 2018/2/1 0:05 Name: 3, dtype: object | 
总结:通过行位置来访问某一行的数据需要使用:.iloc[index]。其中,index是(具体位置-1)。
2.访问连续的某几行
格式:.iloc[index起点位置:index结束位置]
PS:如果想获取连续的几行数据时,我们也可以使用.iloc属性和 切片 进行访问。
示例中,访问第2行到第4行(索引是1到3)的代码data.iloc[1:4]。
注意:和之前不一样,使用.iloc属性的切片,不包含结束index的值。
| # 导入pandas模块,并以"pd"为该模块的简写 import pandas as pd # 读取CSV文件,并将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv") # 使用print()和.iloc属性输出data变量里第2行到第4行的数据 print(data.iloc[1:4]) | 
| 
 | 
2.访问不连续的某几行
格式:.iloc[[index1的位置,index2的位置,...]]
如果要访问多行不连续的数据,需要将包含这几行对应的整数索引列表传入 .iloc属性的 中括号 里。
| # 导入pandas模块,并以"pd"为该模块的简写 import pandas as pd # 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件,并将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv") # TODO 使用print()和.iloc属性输出data变量里第2行、第145行和第276行的数据 print(data.iloc[[1,144,275]]) | 
| Ps:值得注意的是,访问多行数据时,因为传入了列表,所以有两对中括号。 | 
| 
 | 
总结:通过行位置访问数据中不连续的某几行需要使用:.iloc[[index1,index2,...]]。
访问元素
前面我们学习了.iloc属性通过传入index的位置访问行数据。
当然,.iloc属性也允许传入两个参数,分别是index的位置和columns的位置,参数间用“逗号”隔开,这样便可以访问数据中的元素。
| 1. 访问单个元素 格式:.iloc[index的位置,columns的位置] 访问单个元素,需要依次将其index的位置和columns的位置传入.iloc的中括号里,用“逗号”隔开。 | 
| import pandas as pd # 读取CSV文件,并将结果赋值给变量data data = pd.read_csv("/Users/yequ/电商数据清洗.csv") # 使用print()和.iloc属性输出data变量里:第5行,第2列对应的元素 print(data.iloc[4,1]) | 
总结:位置访问变量data中的单个数据的格式是:data.iloc[index的位置,columns的位置]
| 2. 访问多个元素 .iloc[index位置切片或列表,columns位置切片或列表] 如果想访问多个元素,我们也可以使用.iloc属性结合切片或列表进行访问,组合情况较多。 | 
| 
 
 
 
 
 
 
 | 
示例:
| 这三行代码读取了路径为 "/Users/yequ/电商数据清洗.csv" 的文件。 | 
| 
 
 
 | 
总结:
按照行位置访问行数据
访问DataFrame对象中的.iloc属性可以按照行位置对应的整数索引访问行数据。
 1.访问某一行:.iloc[index]
 2.访问连续的某几行:.iloc[起点index:结束index],不包含结束index这一行数据
 3.访问不连续的某几行:.iloc[[index1,index2,...]]
 4.访问单个元素:.iloc[index的位置,columns的位置]
 5.访问多个元素:.iloc[index位置切片或列表,columns位置切片或列表]

以上为:如何使用列索引和行索引来分别获取列数据和行数据的全部内容。









![[数据结构]排序之 归并排序(有详细的递归图解)](https://i-blog.csdnimg.cn/direct/6b5fec2a539d45adbd53451e5705fed9.png)













