Pandas iloc函数的使用
在Python的pandas库中,iloc
是一个非常重要的函数,它用于基于整数位置选择数据。iloc
是基于位置的索引,而不是基于标签的索引。这意味着我们可以使用整数来选择数据,而不是使用标签。在本文中,我们将详细介绍iloc
函数的使用,特别是iloc
的-1用法。
1. pandas iloc基础
在pandas中,iloc
函数的基本语法如下:
dataframe.iloc[row_selection, column_selection]
其中,row_selection
和column_selection
都可以是整数、整数列表或整数范围。
例如,我们有一个名为df
的DataFrame,我们可以使用iloc
函数来选择特定的行和列。
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择第一行
print(df.iloc[0])
# 选择第一列
print(df.iloc[:, 0])
# 选择第一行和第一列的元素
print(df.iloc[0, 0])
Output:
2. pandas iloc -1
在Python中,-1通常用于表示最后一个元素。在pandas的iloc
函数中,-1也有同样的含义。我们可以使用-1来选择最后一行或最后一列。
例如,我们可以使用以下代码来选择最后一行:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择最后一行
print(df.iloc[-1])
Output:
我们也可以使用以下代码来选择最后一列:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择最后一列
print(df.iloc[:, -1])
Output:
3. pandas iloc -1与其他整数的组合
我们可以将-1与其他整数一起使用,来选择多行或多列。
例如,我们可以使用以下代码来选择最后两行:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择最后两行
print(df.iloc[-2:])
Output:
我们也可以使用以下代码来选择第一列和最后一列:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择第一列和最后一列
print(df.iloc[:, [0, -1]])
Output:
4. pandas iloc -1与切片的组合
我们可以将-1与切片一起使用,来选择多行或多列。
例如,我们可以使用以下代码来选择除最后一行之外的所有行:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择除最后一行之外的所有行
print(df.iloc[:-1])
Output:
我们也可以使用以下代码来选择除最后一列之外的所有列:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择除最后一列之外的所有列
print(df.iloc[:, :-1])
Output:
5. pandas iloc -1与布尔索引的组合
我们可以将-1与布尔索引一起使用,来选择满足特定条件的行或列。
例如,我们可以使用以下代码来选择年龄大于20的最后一行:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择年龄大于20的最后一行
print(df[df['Age'] > 20].iloc[-1])
Output:
我们也可以使用以下代码来选择名字为’Tom’的最后一列:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'City': ['New York', 'London', 'New Delhi', 'Shanghai']}
df = pd.DataFrame(data)
# 选择名字为'Tom'的最后一列
print(df[df['Name'] == 'Tom'].iloc[:, -1])
Output:
总结,pandas的iloc
函数是一个非常强大的工具,可以帮助我们快速地选择数据。特别是当我们需要选择最后一行或最后一列时,iloc
的-1用法非常方便。