pandas中read_csv、rolling、expanding用法详解
在 pandas 中,我们经常需要读取 csv 文件并使用滚动窗口或扩展窗口分析数据。在本文中,我们将详细讲解使用 pandas 中的 read_csv
、rolling
和 expanding
方法。
read_csv
方法
read_csv
方法是 pandas 中读取 csv 文件的常用方法。它可以将 csv 文件读入一个 DataFrame 对象中。下面是一个例子:
import pandas as pd
df = pd.read_csv('data.csv')
上面的代码读取了名为 data.csv
的文件,并将其存储到了变量 df
中。在实际应用中,我们经常需要使用这个方法来处理数据。
rolling
方法
rolling
方法可以使用滚动窗口来计算 DataFrame 中每个元素的聚合值。下面是一个例子:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]})
s = df.rolling(window=2).sum()
print(s)
上面的代码创建了一个 DataFrame 对象,并使用 rolling
方法计算了它的滚动总和。在这个例子中,窗口大小是 2,所以该方法从 DataFrame 中的第一个元素开始,每两个元素计算一次总和。结果如下:
A
0 NaN
1 3.0
2 5.0
3 7.0
4 9.0
expanding
方法
expanding
方法可以使用扩展窗口来计算 DataFrame 中每个元素的聚合值。与 rolling
方法不同的是,expanding
方法的窗口大小是可变的,它从 DataFrame 的第一个元素开始,每个元素计算一次聚合值。下面是一个例子:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]})
s = df.expanding().sum()
print(s)
上面的代码创建了一个 DataFrame 对象,并使用 expanding
方法计算了它的扩展总和。在这个例子中,该方法从 DataFrame 中的第一个元素开始,计算每个元素的累计总和。结果如下:
A
0 1.0
1 3.0
2 6.0
3 10.0
4 15.0
示例说明
示例1:计算每周的销售总额
假设我们有一个名为 sales.csv
的文件,其中包含某家公司每天的销售额记录。我们的任务是计算每周的销售总额。首先,我们需要读取文件:
import pandas as pd
df = pd.read_csv('sales.csv')
我们可以使用 rolling
方法来计算每周的销售总额。假设每周有 7 天,我们可以使用以下代码计算每周的销售总额:
weekly_sales = df['sales'].rolling(window=7).sum()
在该代码中,rolling
方法的窗口大小是 7,所以它从 DataFrame 的第一个元素开始,每 7 个元素计算一次总和。最后,我们将每周的销售总额存储在 weekly_sales
变量中。
示例2:计算累计销售额
假设我们有一个名为 sales.csv
的文件,其中包含某家公司每天的销售额记录。我们的任务是计算累计销售额。我们可以使用 expanding
方法来计算累计销售额。以下代码计算了每天的累计销售额:
cumulative_sales = df['sales'].expanding().sum()
在该代码中,我们使用 expanding
方法计算了每天的累计销售额,并将其存储在 cumulative_sales
变量中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中read_csv、rolling、expanding用法详解 - Python技术站