当需要选择数据集的某一行或某几行时,我们可以用pandas中的.loc
和.iloc
进行行选择。其中.loc
根据标签选择行,.iloc
根据行号选择行。
使用.loc选择行
下面是一个示例数据集,其中包含了name
,year
,popularity
三列,我们以name
列作为索引列。
import pandas as pd
data = {
'name': ['John', 'Mary', 'Paul', 'Julia', 'Steve'],
'year': [1988, 1992, 1985, 1995, 1998],
'popularity': [0.5, 0.7, 0.2, 0.6, 0.4]
}
df = pd.DataFrame(data)
df = df.set_index('name') # 以name列作为索引列
print(df)
year popularity
name
John 1988 0.5
Mary 1992 0.7
Paul 1985 0.2
Julia 1995 0.6
Steve 1998 0.4
我们可以使用.loc
根据标签(也就是name
索引列中的值)选择一行或多行数据。例如,选择John
和Paul
两行:
print(df.loc[['John', 'Paul']])
year popularity
name
John 1988 0.5
Paul 1985 0.2
使用.iloc选择行
我们同样可以使用.iloc
根据行号选择一行或多行数据。例如,选择第1行和第3行:
print(df.iloc[[0, 2]])
year popularity
name
John 1988 0.5
Paul 1985 0.2
除了以上两个例子,我们还可以根据需求将.iloc
或.loc
配合使用进行选择。在实际工作中常常会出现比如想要选择2012年到2015年之间的全部数据的情况,这时我们就可以使用.loc
或.iloc
进行行选择。
总的来说,通过pandas的.loc
和.iloc
两个方法,我们可以实现按行选择数据集中的一行或多行,提高了指导性,能在数据分析中得到广泛应用。