【基础】Pandas Series与DataFrame详解
发布时间: 2024-06-26 16:27:25 阅读量: 68 订阅数: 110
![【基础】Pandas Series与DataFrame详解](https://img-blog.csdnimg.cn/a8e26ded8b4d484f9a12cfd8891c7288.png)
# 1. Pandas简介和基础概念**
Pandas是一个强大的Python库,用于处理和分析数据。它提供了一系列高效的数据结构和工具,使数据操作变得更加便捷和高效。
Pandas的核心数据结构是Series和DataFrame。Series是一个一维数组,存储单列数据,而DataFrame是一个二维表,存储多列数据。这两个数据结构都支持各种操作,包括数据索引、切片、合并和连接。
此外,Pandas还提供了一系列数据处理和分析功能,如数据清洗、分组和聚合、数据可视化等。这些功能使Pandas成为数据科学和机器学习领域不可或缺的工具。
# 2. Pandas Series详解**
**2.1 Series的创建和操作**
Pandas Series是一种一维数组,用于存储相同数据类型的数据。它可以通过多种方式创建:
```python
import pandas as pd
# 从列表创建 Series
series_from_list = pd.Series([1, 2, 3, 4, 5])
# 从字典创建 Series,键作为索引,值作为数据
series_from_dict = pd.Series({'a': 1, 'b': 2, 'c': 3})
# 从标量值创建 Series,重复该值
series_from_scalar = pd.Series(10, index=['a', 'b', 'c'])
```
创建 Series 后,可以通过索引访问元素:
```python
print(series_from_list[0]) # 输出 1
print(series_from_dict['a']) # 输出 1
```
Series 还支持切片和索引操作:
```python
print(series_from_list[1:3]) # 输出 [2, 3]
print(series_from_dict['a':'c']) # 输出 Series({'a': 1, 'b': 2, 'c': 3})
```
**2.2 Series的数据类型和转换**
Series 的数据类型由其元素的数据类型决定。Pandas 支持多种数据类型,包括整数、浮点数、布尔值和字符串。
```python
print(series_from_list.dtype) # 输出 int64
print(series_from_dict.dtype) # 输出 object
```
可以通过 `astype()` 方法转换 Series 的数据类型:
```python
series_from_list = series_from_list.astype(float)
print(series_from_list.dtype) # 输出 float64
```
**2.3 Series的索引和切片**
Series 的索引是一组唯一值,用于标识每个元素。索引可以是整数、字符串或其他对象。
```python
print(series_from_list.index) # 输出 RangeIndex(start=0, stop=5, step=1)
print(series_from_dict.index) # 输出 Index(['a', 'b', 'c'], dtype='object')
```
可以通过 `set_index()` 方法设置 Series 的索引:
```python
series_from_list = series_from_list.set_index(['a', 'b', 'c', 'd', 'e'])
print(series_from_list.index) # 输出 Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
```
Series 的切片操作与列表类似,但需要指定索引:
```python
print(series_from_list['a':'c']) # 输出 Series({'a': 1.0, 'b': 2.0, 'c': 3.0})
```
# 3. Pandas DataFrame详解
### 3.1 DataFrame的创建和操作
DataFrame是Pandas中表示表格数据的核心数据结构,它由行和列组成,类似于关系型数据库中的表。
**创建DataFrame**
有以下几种方法可以创建DataFrame:
- 从字典或列表中创建:
```python
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Carol'], 'Age': [20, 25, 30]}
df = pd.DataFrame(data)
```
- 从NumPy数组创建:
```python
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6]])
df = pd.DataFrame(data)
```
- 从CSV文件读取:
```python
df = pd.read_csv('data.csv')
```
**操作DataFrame**
DataFrame提供了丰富的操作方法,包括:
- **获取信息:**
- `df.info()`: 显示数据类型、缺失值和内存使用情况。
- `df.shape`: 返回行数和列数。
- `df.head()`: 显示前几行数据。
- `df.tail()`: 显示后几行数据。
- **选择数据:**
- `df.loc[rows, columns]`: 通过行索引和列索引选择数据。
- `df.iloc[rows, columns]`: 通过行号和列号选择数据。
- `df.query('condition')`: 通过条件选择数据。
- **修改数据:**
- `df.assign(new_column=value)`: 添加新列。
- `df.drop(columns, axis=1)`: 删除列。
- `df.r
0
0