📅  最后修改于: 2023-12-03 15:22:09.245000             🧑  作者: Mango
在 Pandas 中,loc 是通过标签来选择行和列,而 iloc 是通过索引来选择行和列。本文将详细介绍如何使用它们来选取 Pandas DataFrame 中的数据。
要按名称选择某一行,可以使用 loc 函数。以下是一个示例:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]},
index=['foo', 'bar', 'baz'])
# 选择 foo 行
foo_row = df.loc['foo']
print(foo_row)
输出结果:
A 1
B 4
C 7
Name: foo, dtype: int64
注意,结果是一个 Series 对象,它的索引是列名。
要按名称选择某一列,也可以使用 loc 函数。以下是一个示例:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]},
index=['foo', 'bar', 'baz'])
# 选择 A 列
A_col = df.loc[:, 'A']
print(A_col)
输出结果:
foo 1
bar 2
baz 3
Name: A, dtype: int64
注意,结果是一个 Series 对象,它的索引是行名。
要按索引选择某一行,可以使用 iloc 函数。以下是一个示例:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]},
index=['foo', 'bar', 'baz'])
# 选择第二行
second_row = df.iloc[1, :]
print(second_row)
输出结果:
A 2
B 5
C 8
Name: bar, dtype: int64
注意,结果是一个 Series 对象,它的索引是列名。
要按索引选择某一列,也可以使用 iloc 函数。以下是一个示例:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]},
index=['foo', 'bar', 'baz'])
# 选择第二列
second_col = df.iloc[:, 1]
print(second_col)
输出结果:
foo 4
bar 5
baz 6
Name: B, dtype: int64
注意,结果是一个 Series 对象,它的索引是行名。
要按名称和索引选择某一行和某一列,可以使用 loc 和 iloc 函数。以下是一个示例:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]},
index=['foo', 'bar', 'baz'])
# 选择 foo 行,B 列
foo_B = df.loc['foo', 'B']
print(foo_B)
输出结果:
4
注意,结果是一个标量,而不是 Series 对象。