📜  Python| Pandas DataFrame.ix[ ](1)

📅  最后修改于: 2023-12-03 14:46:22.590000             🧑  作者: Mango

Pandas: 使用DataFrame.ix[ ]选取数据

在 Pandas 中, 可以使用 DataFrame.ix[ ] 函数选择数据, 包括行和列。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 的行。

使用 ix[ ] 选择多行

使用 DataFrame.ix[ ] 函数也可以同时选择多行。

# 选择多行
print(df.ix[[100, 102, 103]])

输出:

     name  age gender
100   Tom   28      M
102 Steve   29      M
103 Ricky   42      M
使用 ix[ ] 选择列

DataFrame.ix[ ] 可以选择行和列。

# 选择一列
print(df.ix[:, 'name'])

输出:

100      Tom
101     Jack
102    Steve
103    Ricky
Name: name, dtype: object

在这个例子中, 我们选择了 name 列。

使用 ix[ ] 选择多列

可以使用多个参数选择多列。

# 选择多列
print(df.ix[:, ['name', 'age']])

输出:

     name  age
100   Tom   28
101  Jack   34
102 Steve   29
103 Ricky   42

在这个例子中, 我们选择了 name 和 age 列。

ix[ ] 更适合复杂数据结构

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 数据帧的一行或一列,还可用于选择其中的多行或多列。同时,它更适合于处理多级索引数据的复杂结构。