📅  最后修改于: 2023-12-03 14:46:22.590000             🧑  作者: Mango
在 Pandas 中, 可以使用 DataFrame.ix[ ] 函数选择数据, 包括行和列。ix[ ] 函数可以通过行索引、列索引或二者的位置同时选择元素。
可以使用单个参数选择行。当我们使用行标签作为参数时, 我们可以使用 ix[ ] 函数,如下所示:
import pandas as pd
# 创建数据
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data, index=[100, 101, 102, 103])
# 选择行
print(df.ix[101])
输出:
name Jack
age 34
gender M
Name: 101, dtype: object
在这个例子中, 我们选择了行号为 101 的行。
使用 DataFrame.ix[ ] 函数也可以同时选择多行。
# 选择多行
print(df.ix[[100, 102, 103]])
输出:
name age gender
100 Tom 28 M
102 Steve 29 M
103 Ricky 42 M
DataFrame.ix[ ] 可以选择行和列。
# 选择一列
print(df.ix[:, 'name'])
输出:
100 Tom
101 Jack
102 Steve
103 Ricky
Name: name, dtype: object
在这个例子中, 我们选择了 name
列。
可以使用多个参数选择多列。
# 选择多列
print(df.ix[:, ['name', 'age']])
输出:
name age
100 Tom 28
101 Jack 34
102 Steve 29
103 Ricky 42
在这个例子中, 我们选择了 name 和 age 列。
DataFrame.ix[ ] 函数在处理多层标签数据时非常有用。 因为 ix[ ] 可以用一个参数选择行, 如果行索引是多层的, 可以使用多个参数选择一组二元组数据。
# 创建多层标签数据
outside = ['G1', 'G1', 'G1', 'G2', 'G2', 'G2']
inside = [1, 2, 3, 1, 2, 3]
hier_index = list(zip(outside, inside))
hier_index = pd.MultiIndex.from_tuples(hier_index)
df = pd.DataFrame(np.random.randn(6, 2), index=hier_index, columns=['A', 'B'])
df.index.names = ['Groups', 'Num']
# 打印数据
print(df)
# 选择数据
print(df.ix['G1'])
输出:
A B
Groups Num
G1 1 -0.178096 -1.187815
2 0.102804 0.701320
3 -0.000132 0.824456
G2 1 0.001243 -1.169071
2 0.986774 0.028921
3 1.910954 -0.009139
A B
Num
1 -0.178096 -1.187815
2 0.102804 0.701320
3 -0.000132 0.824456
在这个例子中, 我们使用 DataFrame.ix[ ] 函数选择了行, 并输出了多层标签的数据。
ix[ ] 函数可用于选择 Pandas DataFrame 数据帧的一行或一列,还可用于选择其中的多行或多列。同时,它更适合于处理多级索引数据的复杂结构。