Pandas DataFrame 中 loc() 和 iloc() 的区别
Python的 Pandas 库对于数学数据的操作非常有用,被广泛应用于机器学习领域。它包括许多使其正常运行的方法。 loc()
和iloc()
是这些方法之一。这些用于对 Pandas DataFrame 中的数据进行切片。它们有助于从 DataFrame 中方便地选择数据。它们用于根据某些条件过滤数据。这两种方法的工作原理在汽车样本数据集中进行了解释。
# 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.从 DataFrame 中选择一系列行:
# 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()
不同,此方法不包括传入的范围的最后一个元素。与loc()
不同, iloc()
不接受布尔数据。使用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])
输出 :
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。