【基础】使用Pandas的DataFrame和Series数据结构进行数据的存储和处理
发布时间: 2024-06-24 14:58:06 阅读量: 79 订阅数: 128
![【基础】使用Pandas的DataFrame和Series数据结构进行数据的存储和处理](https://img-blog.csdn.net/20180309120358773?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgxMzEzNTdsZW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
# 1. Pandas数据结构概述**
Pandas是Python中用于数据处理和分析的强大库。它提供了一系列灵活且高效的数据结构,其中最重要的是DataFrame和Series。这些结构旨在简化复杂数据操作,并提供对大型数据集的快速访问和操作。
# 2. DataFrame数据结构
### 2.1 DataFrame的基本操作
#### 2.1.1 创建和初始化DataFrame
**创建DataFrame**
```python
import pandas as pd
# 从字典创建DataFrame
data = {'name': ['John', 'Mary', 'Bob'], 'age': [20, 25, 30]}
df = pd.DataFrame(data)
# 从列表创建DataFrame
data = [['John', 20], ['Mary', 25], ['Bob', 30]]
df = pd.DataFrame(data, columns=['name', 'age'])
```
**初始化DataFrame**
```python
# 创建一个空的DataFrame
df = pd.DataFrame()
# 创建一个指定形状的DataFrame
df = pd.DataFrame(index=[0, 1, 2], columns=['name', 'age'])
```
#### 2.1.2 DataFrame的索引和列
**索引**
* DataFrame的行索引称为`index`。
* 可以通过`df.index`访问索引。
* 索引可以是整数、字符串或其他对象。
**列**
* DataFrame的列称为`columns`。
* 可以通过`df.columns`访问列。
* 列名必须是唯一的。
#### 2.1.3 DataFrame的切片和筛选
**切片**
* 使用`[]`对DataFrame进行切片。
* 可以按行或列切片。
```python
# 按行切片
df[1:3]
# 按列切片
df['name']
```
**筛选**
* 使用`query()`或`loc()`对DataFrame进行筛选。
* `query()`使用布尔表达式筛选行。
* `loc()`使用索引或标签筛选行或列。
```python
# 筛选年龄大于25的行
df.query('age > 25')
# 筛选名为"John"的行
df.loc[df['name'] == 'John']
```
### 2.2 DataFrame的高级操作
#### 2.2.1 DataFrame的合并和连接
**合并**
* 使用`merge()`合并两个DataFrame。
* 可以按公共列合并或连接。
```python
# 按"name"列合并
df1.merge(df2, on='name')
# 连接两个DataFrame
df1.join(df2)
```
**连接**
* 使用`concat()`连接两个DataFrame。
* 可以按行或列连接。
```python
# 按行连接
pd.concat([df1, df2], ignore_index=True)
# 按列连接
pd.concat([df1, df2], axis=1)
```
#### 2.2.2 DataFrame的排序和分组
**排序**
* 使用`sort_values()`对DataFrame进行排序。
* 可以按多个列排序。
```python
# 按"age"列升序排序
df.sort_values('age')
# 按"age"列降序排序
```
0
0