【数据分析基础】:使用Pandas DataFrame进行数据求和
发布时间: 2024-12-16 09:37:38 阅读量: 4 订阅数: 4
![Python 中 pandas.DataFrame 对行与列求和及添加新行与列示例](https://www.sharpsightlabs.com/wp-content/uploads/2021/08/pandas-sum_simple-example-980x456.png)
参考资源链接:[python中pandas.DataFrame对行与列求和及添加新行与列示例](https://wenku.csdn.net/doc/cyhdalx4m0?spm=1055.2635.3001.10343)
# 1. 数据分析与Pandas入门
数据分析是现代IT和商业智能领域不可或缺的技能之一,它涉及到从数据中提取有价值信息的过程。作为Python中最强大的数据处理库之一,Pandas提供了高效、快速且易于使用的数据结构和数据分析工具。本章将引导读者快速入门Pandas,并理解其在数据分析中的重要性。
## 1.1 数据分析的重要性
数据分析可以帮助企业做出基于数据的决策,从市场趋势预测到客户行为分析,再到产品优化建议,数据分析的应用广泛而深刻。掌握数据分析技能,对于IT专业人员来说是提升职业竞争力的关键。
## 1.2 Pandas简介
Pandas是一个开源的Python数据分析库,它提供了一种高效的数据结构,名为DataFrame,支持复杂的标签索引。Pandas不仅支持各种数据操作,还能够轻松读取和写入多种格式的数据文件,如CSV、Excel、SQL数据库等。
## 1.3 安装与配置Pandas
要在Python环境中安装Pandas,可以使用pip命令进行安装:
```bash
pip install pandas
```
安装完成后,在Python脚本或Jupyter Notebook中引入Pandas库:
```python
import pandas as pd
```
在接下来的章节中,我们将深入探讨DataFrame的基础操作,以及如何利用Pandas进行数据求和和实践案例的分析。通过实际操作,您将逐渐掌握Pandas的强大功能,为您的数据分析工作打下坚实的基础。
# 2. Pandas DataFrame基础
### 2.1 DataFrame的数据结构
#### 2.1.1 DataFrame的创建与初始化
在Pandas库中,DataFrame是最为核心的数据结构之一,它是二维的、大小可变的、潜在异质型的表格型数据结构,具有标记的轴(行和列)。创建DataFrame有多种方式,最常见的是从字典、二维数组或结构化数据文件如CSV创建。
- **从字典创建DataFrame**:
```python
import pandas as pd
# 定义一个字典,键为列名,值为数据列表
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
'Location': ['New York', 'Paris', 'Berlin', 'London'],
'Age': [24, 13, 53, 33]}
# 创建DataFrame
df = pd.DataFrame(data)
print(df)
```
- **从二维数组创建DataFrame**:
```python
import numpy as np
# 定义一个二维数组
data_array = np.array([['New York', 'Anna', 13],
['Paris', 'Peter', 53],
['Berlin', 'Linda', 33]])
# 创建DataFrame
df_array = pd.DataFrame(data_array, columns=['Location', 'Name', 'Age'])
print(df_array)
```
- **从CSV文件读取创建DataFrame**:
```python
df_csv = pd.read_csv('example.csv')
print(df_csv)
```
#### 2.1.2 DataFrame的索引和轴
索引是Pandas中非常重要的概念,它帮助我们快速定位和访问数据。Pandas的索引具有标签功能,且是不可变的数据结构。轴(axis)在Pandas中指的是DataFrame的行和列,分别对应轴0和轴1。
- **使用index属性来获取或设置DataFrame的索引**:
```python
# 获取索引
index = df.index
print(index)
# 设置索引
df.index = ['ID1', 'ID2', 'ID3', 'ID4']
print(df)
```
- **对轴的操作**:
```python
# 获取列名(轴1标签)
columns = df.columns
print(columns)
# 通过轴标签进行数据选择
print(df['Location'])
```
### 2.2 DataFrame的数据操作
#### 2.2.1 数据选择与过滤
在DataFrame中进行数据选择和过滤是数据分析的基本步骤,它允许我们根据特定条件检索数据子集。
- **通过标签索引**:
```python
# 选择一列数据
age = df['Age']
print(age)
# 使用双括号来选择多列数据
name_location = df[['Name', 'Location']]
print(name_location)
```
- **使用`.loc[]`和`.iloc[]`进行更复杂的索引**:
```python
# 使用标签选择数据
selected_rows = df.loc[df['Age'] > 24]
print(selected_rows)
# 使用位置索引选择数据
selected_rows_by_position = df.iloc[1:3]
print(selected_rows_by_position)
```
#### 2.2.2 数据排序与分组
数据排序有助于我们更直观地查看数据,而数据分组可以对数据进行汇总和聚合。
- **数据排序**:
```python
# 默认升序排序
sorted_df = df.sort_values(by='Age')
print(sorted_df)
# 降序排序
sorted_df_desc = df.sort_values(by='Age', ascending=False)
print(sorted_df_desc)
```
- **数据分组**:
```python
# 使用groupby进行分组并求每组的平均年龄
grouped = df.groupby('Location').mean()
print(grouped)
```
### 2.3 DataFrame的读写操作
#### 2.3.1 读取不同格式的数据文件
Pandas支持多种数据格式的读取,例如CSV、Excel、JSON等。
- **读取Excel文件**:
```python
df_excel = pd.read_excel('example.xlsx')
print(df_excel)
```
- **读取JSON文件**:
```python
df_json = pd.read_json('example.json')
print(df_json)
```
#### 2.3.2 将DataFrame导出到文件
数据处理完毕后,通常需要将结果输出到文件,以便于分享或进一步使用。
- **导出到CSV文件**:
```python
df.to_csv('output.csv', index=False)
```
- **导出到Excel文件**:
```python
df.to_excel('output.xlsx', index=False)
```
通过以上小节,我们介绍了Pandas DataFrame的基础操作,从创建和初始化到数据操作和读写文件。在第三章中,我们将进一步探讨使用Pandas进行数据求和的技巧和方法。
# 3. 使用Pandas进行数据求和
在数据科学中,求和是一个非常常见的操作,用于聚合数据并得出相应的统计数据。Pandas库为数据求和提供了多种方法,本章我们将详细探讨如何使用Pandas进行数据求和,并深入分析其基本方法和高级应用。
## 3.1 基本数据求和方法
Pandas中的数据求和操作主要通过`sum()`函数完成。它可以在整个DataFrame上执行,也可以限定在特定的轴或列上进行。
### 3.1.1 对单列数据求和
对DataFrame中的一列进行求和是数据分析中非常基础的操作。以下是一个简单的例子,展示了如何对单列进行求和:
```python
import pandas as pd
# 创建一个简单的DataFrame
df = p
```
0
0