pandas抽取行列数据的几种方法

1. 概述

Pandas是一个强大的数据分析工具,提供了丰富的函数和方法来处理和分析数据。其中一个常用的功能是抽取行列数据,本文将介绍几种常见的抽取行列数据的方法。

2. 抽取行数据

2.1 使用loc方法

loc方法是Pandas中用于按标签进行选择的方法之一,通过指定行的标签名来抽取行数据。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用loc方法抽取行数据

row = df.loc[1] # 抽取第2行数据,行索引从0开始

print(row)

运行以上代码,输出结果为:

{'Name': 'Nick', 'Age': 25, 'City': 'Paris'}

以上代码使用loc方法抽取了DataFrame中第2行的数据,并将结果存储在变量row中。

2.2 使用iloc方法

iloc方法是Pandas中用于按位置进行选择的方法之一,通过指定行的位置来抽取行数据。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用iloc方法抽取行数据

row = df.iloc[1] # 抽取第2行数据,行索引从0开始

print(row)

运行以上代码,输出结果为:

Name       Nick

Age 25

City Paris

Name: 1, dtype: object

以上代码使用iloc方法抽取了DataFrame中第2行的数据,并将结果存储在变量row中。

3. 抽取列数据

3.1 使用列名

要抽取DataFrame中的特定列,可以通过列名来进行选择。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用列名抽取列数据

column = df['Name'] # 抽取Name列数据

print(column)

运行以上代码,输出结果为:

0     Tom

1 Nick

2 John

3 Amy

Name: Name, dtype: object

以上代码使用列名抽取了DataFrame中的Name列数据,并将结果存储在变量column中。

3.2 使用loc方法

与抽取行数据类似,可以使用loc方法来抽取特定列。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用loc方法抽取列数据

column = df.loc[:, 'Name'] # 抽取Name列数据

print(column)

运行以上代码,输出结果为:

0     Tom

1 Nick

2 John

3 Amy

Name: Name, dtype: object

以上代码使用loc方法抽取了DataFrame中的Name列数据,并将结果存储在变量column中。这里的":"表示选择所有行。

3.3 使用iloc方法

与抽取行数据类似,也可以使用iloc方法来抽取特定的列。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用iloc方法抽取列数据

column = df.iloc[:, 0] # 抽取第1列数据,列索引从0开始

print(column)

运行以上代码,输出结果为:

0     Tom

1 Nick

2 John

3 Amy

Name: Name, dtype: object

以上代码使用iloc方法抽取了DataFrame中的第1列数据(Name列),并将结果存储在变量column中。

4. 抽取特定行列数据

除了抽取全部行或全部列,有时候也需要抽取DataFrame中的特定行和特定列。

import pandas as pd

# 创建一个示例DataFrame

data = {'Name':['Tom', 'Nick', 'John', 'Amy'],

'Age':[21, 25, 18, 23],

'City':['New York', 'Paris', 'London', 'Tokyo']}

df = pd.DataFrame(data)

# 使用loc方法抽取特定行列数据

subset = df.loc[1:2, ['Name', 'Age']] # 抽取第2行到第3行的Name和Age列数据

print(subset)

运行以上代码,输出结果为:

   Name  Age

1 Nick 25

2 John 18

以上代码使用loc方法抽取了DataFrame中第2行到第3行的Name和Age列数据,并将结果存储在变量subset中。

5. 总结

本文介绍了几种常见的方法来抽取Pandas DataFrame中的行列数据。通过使用loc、iloc方法和列名,我们可以灵活地选择需要的数据进行进一步的处理和分析。希望本文对您学习和使用Pandas有所帮助。

后端开发标签