当前位置 : 主页 > 编程语言 > python >

pythonPandas高级功能之数据透视表和字符串操作

来源:互联网 收集:自由互联 发布时间:2023-08-17
目录 一、数据透视表 1. 创建数据透视表 2. 查询数据透视表 二、字符串操作 1. 字符串基本操作 2. 使用正则表达式 三、向量化字符串操作 1. 向量化操作的基本方法 2. 使用正则表达式的
目录
  • 一、数据透视表
    • 1. 创建数据透视表
    • 2. 查询数据透视表
  • 二、字符串操作
    • 1. 字符串基本操作
    • 2. 使用正则表达式
  • 三、向量化字符串操作
    • 1. 向量化操作的基本方法
    • 2. 使用正则表达式的向量化操作
  • 四、应用函数
    • 1. 对Series应用函数
    • 2. 对DataFrame应用函数

一、数据透视表

数据透视表是一种常见的数据汇总工具,常用于电子表格程序和某些数据库。Pandas提供了创建数据透视表的功能,这使得数据分析更加灵活和直观。

1. 创建数据透视表

Pandas的pivot_table()函数可以轻松地创建数据透视表。我们需要指定以下参数:values(要聚合的列名),index(在透视表的行中要分组的列名),columns(在透视表的列中要分组的列名),aggfunc(用于聚合的函数)。

import pandas as pd
import numpy as np
df = pd.DataFrame({
    'A': ['one', 'one', 'two', 'three'] * 3,
    'B': ['A', 'B', 'C'] * 4,
    'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
    'D': np.random.randn(12),
    'E': np.random.randn(12)
})
# 创建数据透视表
pivot_table = df.pivot_table(values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)
print(pivot_table)

2. 查询数据透视表

你可以像查询普通的DataFrame那样查询数据透视表。

# 查询数据透视表
print(pivot_table.loc['one'])  # 查询行索引为'one'的数据
print(pivot_table['foo'])  # 查询列索引为'foo'的数据

二、字符串操作

Pandas提供了一系列的字符串处理方法,在str属性中集成了这些方法,这使得在DataFrame和Series中的字符串操作更加方便。

1. 字符串基本操作

Pandas支持大部分Python内置的字符串方法。

s = pd.Series(['A', 'B', 'C', 'Aaba', 'Baca', np.nan, 'CABA', 'dog', 'cat'])
print(s.str.lower())  # 将字符串转化为小写

2. 使用正则表达式

Pandas的字符串方法能够接受正则表达式,这使得字符串操作更加强大。例如,我们可以使用正则表达式,配合replace()函数替换字符串中的字符。

s = pd.Series(['a', 'a|b', np.nan, 'a|c'])
print(s.str.replace('a|b', 'new', regex=True))  # 使用正则表达式替换字符串

通过

上一篇:Python中实现定时任务详解
下一篇:没有了
网友评论