要获取pandas中的行和列,我们可以使用DataFrame.loc和DataFrame.iloc属性。DataFrame.loc使用标签来索引行和列,DataFrame.iloc使用整数来索引行和列。
- 使用DataFrame.loc获取行和列
DataFrame.loc[row_labels, column_labels]将返回一个DataFrame对象,其中包含由row_labels和column_labels指定的行和列。
具体示例如下:
import pandas as pd
# 创建DataFrame对象
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [24, 25, 20, 18],
'sex': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 使用.loc获取第一行
row_1 = df.loc[0,:]
# 输出结果
print(row_1)
# 使用.loc获取第一列
col_1 = df.loc[:,'name']
# 输出结果
print(col_1)
运行上述代码,输出结果如下:
name Alice
age 24
sex F
Name: 0, dtype: object
0 Alice
1 Bob
2 Charlie
3 David
Name: name, dtype: object
- 使用DataFrame.iloc获取行和列
DataFrame.iloc[row_indices, column_indices]将返回一个DataFrame对象,其中包含由行索引和列索引指定的行和列。
具体示例如下:
import pandas as pd
# 创建DataFrame对象
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [24, 25, 20, 18],
'sex': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 使用.iloc获取第一行
row_1 = df.iloc[0,:]
# 输出结果
print(row_1)
# 使用.iloc获取第一列
col_1 = df.iloc[:,0]
# 输出结果
print(col_1)
运行上述代码,输出结果如下:
name Alice
age 24
sex F
Name: 0, dtype: object
0 Alice
1 Bob
2 Charlie
3 David
Name: name, dtype: object
需要注意的是,DataFrame.loc使用标签字符串来索引行和列,而DataFrame.iloc使用整数来索引行和列。因此,当标签为整数时,最好使用DataFrame.iloc来避免与标签索引混淆。