想要通过index来选择并获取Pandas数据中的行和列,我们可以使用Pandas提供的iloc和loc两种方法来实现。
- 选择行和列
iloc方法可以通过传递整数或整数列表来选择行和列,如下所示:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({'name': ['John', 'Mike', 'Sarah'], 'age': [20, 25, 30], 'gender': ['M', 'M', 'F']}, index=['A', 'B', 'C'])
# 选择第二行第二列的元素
print(df.iloc[1, 1]) # 输出:25
# 选择第一行和第三行、第一列和第三列的元素
print(df.iloc[[0, 2], [0, 2]]) # 输出:
# name gender
# A John M
# C Sarah F
loc方法可以通过传递行和列的标签来选择行和列,如下所示:
import pandas as pd
# 使用上面的数据框
df = pd.DataFrame({'name': ['John', 'Mike', 'Sarah'], 'age': [20, 25, 30], 'gender': ['M', 'M', 'F']}, index=['A', 'B', 'C'])
# 选择第二行第二列的元素
print(df.loc['B', 'age']) # 输出:25
# 选择第一行和第三行、名字和性别这两列的元素
print(df.loc[['A', 'C'], ['name', 'gender']]) # 输出:
# name gender
# A John M
# C Sarah F
- 选择一整行或一整列
iloc方法可以通过传递冒号(:)来选择一整行或一整列,如下所示:
import pandas as pd
# 使用上面的数据框
df = pd.DataFrame({'name': ['John', 'Mike', 'Sarah'], 'age': [20, 25, 30], 'gender': ['M', 'M', 'F']}, index=['A', 'B', 'C'])
# 选择第二行
print(df.iloc[1, :]) # 输出:name Mike
# age 25
# gender M
# Name: B, dtype: object
# 选择第一列
print(df.iloc[:, 0]) # 输出:A John
# B Mike
# C Sarah
# Name: name, dtype: object
loc方法可以通过传递行或列的名称来选择一整行或一整列,如下所示:
import pandas as pd
# 使用上面的数据框
df = pd.DataFrame({'name': ['John', 'Mike', 'Sarah'], 'age': [20, 25, 30], 'gender': ['M', 'M', 'F']}, index=['A', 'B', 'C'])
# 选择第二行
print(df.loc['B']) # 输出:name Mike
# age 25
# gender M
# Name: B, dtype: object
# 选择名字这一列
print(df.loc[:, 'name']) # 输出:A John
# B Mike
# C Sarah
# Name: name, dtype: object
以上就是Pandas通过index选择并获取行和列的详细攻略,希望能对您有所帮助。