pandas dataframe 重新采样聚合函数使用具有自定义函数的多列

pandas

1个回答

写回答

19971006

2025-06-26 20:00

+ 关注

Pandas
Pandas

使用Pandas的DataFrame进行数据分析和处理是非常常见的。在实际的数据处理过程中,我们经常需要对数据进行重新采样和聚合操作。Pandas提供了方便的重新采样聚合函数,可以根据我们的需求对数据进行灵活的处理。本文将介绍如何使用Pandas的重新采样聚合函数,并使用自定义函数对多列进行操作。

一、重新采样聚合函数概述

重新采样是指将时间序列数据从一个频率转换为另一个频率的过程。在Pandas中,我们可以使用resample()函数来实现重新采样操作。resample()函数的参数可以是字符串、日期偏移量或自定义的重采样规则。

聚合函数是对数据进行统计汇总的操作,例如求和、平均值、最大值、最小值等。在Pandas中,我们可以使用agg()函数来对重新采样后的数据进行聚合操作。agg()函数的参数可以是内置的聚合函数,也可以是自定义的函数。

二、使用自定义函数对多列进行聚合操作

有时候我们需要对多列的数据进行聚合操作,例如计算多列的和、平均值等。在Pandas中,我们可以使用自定义函数来实现这个需求。下面是一个示例代码:

Python

import Pandas as pd

# 创建一个示例DataFrame

data = {'日期': pd.date_range(start='2022-01-01', end='2022-01-31'),

'销售额': [100, 200, 150, 300, 250, 400, 350, 500, 450, 600, 550, 700, 650, 800, 750, 900, 850, 1000, 950, 1100, 1050, 1200, 1150, 1300, 1250, 1400, 1350, 1500, 1450, 1600],

'利润': [10, 20, 15, 30, 25, 40, 35, 50, 45, 60, 55, 70, 65, 80, 75, 90, 85, 100, 95, 110, 105, 120, 115, 130, 125, 140, 135, 150, 145, 160]}

df = pd.DataFrame(data)

# 将日期列设置为索引

df.set_index('日期', inplace=True)

# 对销售额和利润进行重新采样,并使用自定义函数求和

resampled_data = df.resample('W').agg({'销售额': 'sum', '利润': 'sum'})

print(resampled_data)

在上面的示例代码中,我们首先创建了一个示例的DataFrame,包含日期、销售额和利润三列。然后将日期列设置为索引,接着使用resample()函数对销售额和利润进行重新采样,重采样的频率为每周('W')。最后使用自定义函数sum对重采样后的数据进行求和操作。

三、示例代码输出结果

上面的示例代码将输出重新采样后的数据,结果如下所示:

销售额 利润

日期

2022-01-02 300 30

2022-01-09 1250 125

2022-01-16 2750 275

2022-01-23 4250 425

2022-01-30 5750 575

在输出的结果中,每周的销售额和利润被求和并显示出来。

四、

本文介绍了如何使用Pandas的重新采样聚合函数,并使用自定义函数对多列进行操作。重新采样可以将时间序列数据从一个频率转换为另一个频率,聚合函数可以对数据进行统计汇总的操作。通过使用自定义函数,我们可以实现对多列数据的聚合操作。这些功能使得我们能够更加灵活地处理和分析数据。

以上就是使用Pandas DataFrame重新采样聚合函数,并使用自定义函数对多列进行操作的内容。希望本文对你有所帮助!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号