熊猫数据框中 loc()和 iloc()的区别
原文:https://www.geeksforgeeks.org/in-loc-and-iloc-in-pandas-data frame/
python 的 Pandas 库对于数学数据的处理非常有用,在机器学习领域得到了广泛的应用。它由许多方法组成,以保证其正常运行。loc()
iloc()
就是其中一种方法。这些用于从熊猫数据帧中分割数据。它们有助于从数据框中方便地选择数据。它们用于根据某些条件过滤数据。汽车样本数据集中解释了这两种方法的工作原理。
# importing the module
import pandas as pd
# creating a sample dataframe
data = pd.DataFrame({'Brand' : ['Maruti', 'Hyundai', 'Tata',
'Mahindra', 'Maruti', 'Hyundai',
'Renault', 'Tata', 'Maruti'],
'Year' : [2012, 2014, 2011, 2015, 2012,
2016, 2014, 2018, 2019],
'Kms Driven' : [50000, 30000, 60000,
25000, 10000, 46000,
31000, 15000, 12000],
'City' : ['Gurgaon', 'Delhi', 'Mumbai',
'Delhi', 'Mumbai', 'Delhi',
'Mumbai','Chennai', 'Ghaziabad'],
'Mileage' : [28, 27, 25, 26, 28,
29, 24, 21, 24]})
# displaying the DataFrame
display(data)
输出:
loc() : loc()
是基于标签的数据选择方法,这意味着我们必须传递我们想要选择的行或列的名称。这个方法包括传递到它的范围的最后一个元素,不像iloc()
。loc()
可以接受布尔数据不像iloc()
。许多操作可以使用loc()
方法进行,如-
1。根据一些条件选择数据:
# selecting cars with brand 'Maruti' and Mileage > 25
display(data.loc[(data.Brand == 'Maruti') & (data.Mileage > 25)])
输出:
2。从数据框中选择一系列行:
# selecting range of rows from 2 to 5
display(data.loc[2 : 5])
输出:
3。更新任意列的值:
# updating values of Mileage if Year < 2015
data.loc[(data.Year < 2015), ['Mileage']] = 22
display(data)
输出:
iloc() : iloc()
是一种基于索引的选择方法,这意味着我们必须在方法中传递整数索引来选择特定的行/列。与loc()
不同,该方法不包括传递到其中的范围的最后一个元素。iloc()
不像loc()
那样接受布尔数据。使用iloc()
执行的操作有:
1。使用整数索引选择行:
# selecting 0th, 2th, 4th, and 7th index rows
display(data.iloc[[0, 2, 4, 7]])
输出:
2。同时选择一系列列和行:
# selecting rows from 1 to 4 and columns from 2 to 4
display(data.iloc[1 : 5, 2 : 5])
输出: