pandas行和列的获取的实现

  • Post category:Python

要获取pandas中的行和列,我们可以使用DataFrame.loc和DataFrame.iloc属性。DataFrame.loc使用标签来索引行和列,DataFrame.iloc使用整数来索引行和列。

  1. 使用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
  1. 使用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来避免与标签索引混淆。