pandas.DataFrame.cumsum函数使用

pandas.DataFrame.cumsum函数用于实现按指定轴向进行累加计算,可以设置skipna参数忽略空值。在分组后,该函数能帮助计算时序排列的累计值,例如统计每个用户的历史购物次数。通过data.groupby("用户")[“购买物品数量”].cumsum(),可以获取每个用户每次购物前的总购买次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数参数如下:

DataFrame.cumsum(axis=None, skipna=True, *args, **kwargs)
  1. axis :不必多说,横轴竖轴

  2. skipna:True or False 是否忽略空值

函数功能主要是为了解决分组后按时序排列累加计算。

适用场合如下:

譬如图中的数据,我们希望获得每次购物的时候,该用户之前购买次数。

在这里插入图片描述

data.groupby(“用户”)[“购买物品数量”].cumsum()
在这里插入图片描述

该函数可以计算出目前为止买过的次数,再做处理就能得到想要的结果。

skipna 默认为True,

→

改成False后

在这里插入图片描述

### pandas DataFrame 的功能与使用方法 #### 数据结构概述 `pandas.DataFrame` 是一种二维表格型的数据结构,具有行列标签。它类似于电子表格或 SQL 表格,能够存储不同类型的数据(数值、字符串、布尔值等)。其核心特点是灵活的操作性和强大的数据分析能力。 --- #### 遍历方法 在 Pandas 中,可以通过多种方式遍历 `DataFrame` 的数据: 1. **基于索引遍历** 可以通过迭代器访问每行的索引及其对应的 Series 对象[^1]。 ```python import pandas as pd df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) for index, row in df.iterrows(): print(f'Index: {index}, Row Data: {row}') ``` 2. **基于行号遍历** 此种方式仅能获取行号和对应的数据(Series),而无法直接获得原始索引信息。 ```python for i in range(len(df)): print(f'Row {i}: {df.iloc[i]}') ``` 3. **使用 iterrows() 方法** 返回的是 (索引, Series) 形式的元组,适合逐行处理少量数据。 ```python for index, series in df.iterrows(): print(index, series['A']) ``` 4. **使用 itertuples() 方法** 更高效的方式,返回一个命名元组,适用于性能敏感场景。 ```python for row_tuple in df.itertuples(): print(row_tuple.Index, row_tuple.A) ``` 5. **使用 apply() 函数** 能够沿指定轴应用自定义函数,支持复杂的逻辑操作。 ```python result = df.apply(lambda row: row['A'] * row['B'], axis=1) print(result) ``` --- #### 汇总与计算方法 Pandas 提供了一系列用于汇总和统计的方法,其中常用的一个例子是 `.cumsum()` 方法,它可以沿着指定轴累计求和[^2]。 ```python import numpy as np data = {'Values': np.random.randint(0, 10, size=(5))} df_cumulative = pd.DataFrame(data) print('Original DataFrame:') print(df_cumulative) df_cumulative['CumSum'] = df_cumulative['Values'].cumsum() print('\nDataFrame with Cumulative Sum:') print(df_cumulative) ``` 上述代码展示了如何利用 `cumsum()` 计算累积和并将其作为新列加入到原表中。 --- #### 总结 `pandas.DataFrame` 不仅为用户提供了一个高效的多维数组容器,还提供了丰富的内置工具来简化复杂的数据分析流程。无论是简单的遍历还是高级的聚合运算,都可以轻松实现。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值