用Python的pandas框架操作Excel文件中的数据教程

  • Post category:Python

下面是一个用Python的pandas框架操作Excel文件中的数据教程的完整实例教程。

一、环境准备

首先,我们需要安装好Python和pandas库,并且将要操作的Excel文件放置到Python的工作目录下。

二、读取Excel文件

我们可以使用pandas库的read_excel()函数读取Excel文件中的数据,例如:

import pandas as pd

df = pd.read_excel('example.xlsx')
print(df.head())

在这个例子中,我们使用了pandas的read_excel()函数读取了一个名为example.xlsx的Excel文件,并将其存储到了df变量中。然后,我们通过调用df.head()函数查看了前五行的数据。

三、操作Excel数据

1.筛选数据

我们可以使用pandas库的loc和iloc函数对Excel文件中的数据进行筛选。loc函数通常基于行和列的标签进行筛选,而iloc函数基于行和列的索引进行筛选,例如:

# 筛选出'Response'列等于'Strongly agree'的行
strongly_agree = df.loc[df['Response'] == 'Strongly agree']
print(strongly_agree.head())

# 筛选出第一行到第五行和第一列到第三列的数据
subset = df.iloc[0:5, 0:3]
print(subset.head())

在这个例子中,我们使用了loc函数筛选出了’Response’列等于’Strongly agree’的行,并将其存储到了strongly_agree变量中。然后,我们使用iloc函数选择了第一行到第五行和第一列到第三列的数据,并将其存储到了subset变量中。

2.添加新数据列

我们可以使用pandas库的assign函数添加新的数据列,例如:

# 添加一个新的数据列 'Total',其值是'Strongly agree'和'Agree'两个列的和
total = df.assign(Total = df['Strongly agree'] + df['Agree'])
print(total.head())

在这个例子中,我们使用了assign函数添加了一个名为’Total’的新列,其值是’Strongly agree’和’Agree’两个列对应元素的和。

四、保存Excel文件

我们可以使用pandas库的to_excel()函数将操作后的数据保存到Excel文件中,例如:

# 将结果保存到新的Excel文件中
total.to_excel('new_example.xlsx', index = False)

在这个例子中,我们使用了to_excel()函数将操作后的数据保存到了名为new_example.xlsx的Excel文件中,并将索引列忽略掉(index = False)。

五、示例说明

下面是两个例子,说明了如何使用pandas库操作Excel文件:

示例1:求和

假设我们有一个Excel文件example.xlsx,其包含有’Test1’和’Test2’两列数据。我们需要将这两列数据相加并保存到新的Excel文件中。此时,我们可以编写如下代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

# 计算'Test1'和'Test2'两列数据的和,并将结果保存到名为new_example.xlsx的新文件中
df_sum = df.assign(Total = df['Test1'] + df['Test2'])
df_sum.to_excel('new_example.xlsx', index = False)

这样,我们就将原来包含有’Test1’和’Test2’两列数据的Excel文件example.xlsx中的数据相加,并将相加后的结果保存到了名为new_example.xlsx的新文件中。

示例2:筛选

假设我们有一个Excel文件example.xlsx,其包含有’Response’和’Strongly agree’两列数据。我们需要筛选出’Response’列等于’Agree’的数据并保存到新的Excel文件中。此时,我们可以编写如下代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

# 筛选出'Response'列等于'Agree'的数据,并将结果保存到名为new_example.xlsx的新文件中
df_agree = df.loc[df['Response'] == 'Agree']
df_agree.to_excel('new_example.xlsx', index = False)

这样,我们就将原来包含有’Response’和’Strongly agree’两列数据的Excel文件example.xlsx中的’Response’列等于’Agree’的数据筛选出来,并将筛选后的结果保存到了名为new_example.xlsx的新文件中。