📅  最后修改于: 2023-12-03 14:50:53.901000             🧑  作者: Mango
在 pandas 中,DataFrame 是一个二维数据结构,可以将其看作是一个类似于表格的数据结构,其中每一列都是由一个 Series 组成,而每一行都是由每个 Series 中相应位置的值组成。因此,DataFrame 可以非常方便地存储和处理结构化数据。
在 DataFrame 中,我们通常需要选择特定的值和对应的行或列进行操作,本文将介绍如何在 DataFrame 中进行这些选择。
我们可以通过 DataFrame 的列名来选择特定的列。可以使用中括号并传递列名来选择特定的列。例如:
import pandas as pd
data = {'name': ['John', 'Mike', 'Tom'],
'age': [20, 25, 30],
'city': ['New York', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
print(df['name'])
运行上述代码,输出结果如下:
0 John
1 Mike
2 Tom
Name: name, dtype: object
上述代码中,我们使用 df['name']
选择了 DataFrame df
中的 name
列。
我们可以通过 loc
或 iloc
选择 DataFrame 中的特定行。loc
方法使用标签来选择行,而 iloc
方法使用行的索引来选择行。例如:
print(df.loc[1])
print(df.iloc[1])
运行上述代码,输出结果如下:
name Mike
age 25
city Paris
Name: 1, dtype: object
name Mike
age 25
city Paris
Name: 1, dtype: object
上述代码中,在第一个 print
中,我们使用 loc[1]
选择了 DataFrame df
中的 index 为 1
的行,也就是第二行。而在第二个 print
中,我们使用 iloc[1]
选择了 DataFrame df
中的第二行。
我们可以结合使用上述方式选择 DataFrame 中的特定行列。例如:
print(df.loc[[0, 2], ['name', 'age']])
print(df.iloc[[0, 2], [0, 1]])
运行上述代码,输出结果如下:
name age
0 John 20
2 Tom 30
name age
0 John 20
2 Tom 30
上述代码中,在第一个 print
中,我们使用 loc
分别选择了 index 为 0
和 2
的行,以及 name
和 age
列,也就是仅保留了 name
和 age
列的第一行和第三行。在第二个 print
中,我们使用 iloc
的方式同样选择了第一行和第三行以及第一列和第二列。
以上介绍了在 pandas.DataFrame 中选择特定值和对应值的方法和技巧,包括选择特定列、选择特定行以及结合使用这些技巧选择特定行列。pandas 的 DataFrame 支持更加丰富的数据操作,希望本文能够帮助各位程序员更好地使用 pandas。