pandas的loc[ ]和iloc[ ]方法解析

pandas 的 df.loc[ ]方法是一个用于选择行和列的函数,它可以帮助你在 pandas 数据帧中定位和选择特定的数据。

df.loc[ ]

df.loc[行标签, 列标签]

使用方法是在数据帧名称后面跟上 .loc[],然后在方括号内输入行和列的标签,标签可以是整数、字符串或布尔值。

例如:

import pandas as pd

# 创建一个简单的数据帧
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 输出数据帧的第一行
print(df.loc[0])

# 输出数据帧的第一列
print(df.loc[:, 'A'])

# 输出数据帧的第一行和第二列
print(df.loc[0, 'B'])

# 输出数据帧的第二行和第三列
print(df.loc[1, 'C'])

你还可以使用切片来选择多行或多列,例如:

# 输出数据帧的前两行
print(df.loc[:1])

# 输出数据帧的后两列
print(df.loc[:, 'B':])

你还可以使用布尔值索引来选择特定的行或列。

例如:

# 选择数据帧中值大于 5 的行
print(df.loc[df['A'] > 5])

# 选择数据帧中值小于等于 5 的列
print(df.loc[:, df.loc[0] <= 5])

总之,pandas的loc() 方法是一个非常强大的工具,可以帮助我们轻易地筛选行和列的数据。

注意,df.loc[] 只能使用标签索引,不能使用位置索引。如果想使用位置索引,可以使用 df.iloc[] 函数。

df.iloc[ ]

df.iloc[行编号, 列编号]

df.iloc[] 是 pandas 中用于选择行和列的函数。它允许你通过行索引和列索引选择 DataFrame 中的数据。

例如,假设你有一个 DataFrame df,你想选择它的第一行和第二列,你可以使用如下代码:

df.iloc[0, 1]

如果要选取多行多列的数据,可以传入一个列表:

df.iloc[[1, 2], [1, 2]]

你也可以使用切片选择多行和多列,例如:

df.iloc[0:2, 1:3]

这将选择第一行和第二行,以及第二列和第三列。

还有一个重要的注意事项是,df.iloc[] 是基于整数的索引,而不是基于标签的索引。这意味着你必须使用整数来选择行和列,而不是使用实际的行标签或列标签。


注意:[0:2]后面的数字是开区间,即[0:2)


你还可以像这样选取所有行或列:

df.iloc[:, :]  # 选取所有行和列
df.iloc[:, 1:]  # 选取所有行,从第 2 列开始的所有列
df.iloc[1:, :]  # 选取从第 2 行开始的所有行,以及所有列

你可能感兴趣的:(python使用经验,pandas,python,数据分析)