赞
踩
目录
- # 176、pandas.Series.rank方法
- pandas.Series.rank(axis=0, method='average', numeric_only=False, na_option='keep', ascending=True, pct=False)
- Compute numerical data ranks (1 through n) along axis.
-
- By default, equal values are assigned a rank that is the average of the ranks of those values.
-
- Parameters:
- axis{0 or ‘index’, 1 or ‘columns’}, default 0
- Index to direct ranking. For Series this parameter is unused and defaults to 0.
-
- method{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}, default ‘average’
- How to rank the group of records that have the same value (i.e. ties):
-
- average: average rank of the group
-
- min: lowest rank in the group
-
- max: highest rank in the group
-
- first: ranks assigned in order they appear in the array
-
- dense: like ‘min’, but rank always increases by 1 between groups.
-
- numeric_onlybool, default False
- For DataFrame objects, rank only numeric columns if set to True.
-
- Changed in version 2.0.0: The default value of numeric_only is now False.
-
- na_option{‘keep’, ‘top’, ‘bottom’}, default ‘keep’
- How to rank NaN values:
-
- keep: assign NaN rank to NaN values
-
- top: assign lowest rank to NaN values
-
- bottom: assign highest rank to NaN values
-
- ascendingbool, default True
- Whether or not the elements should be ranked in ascending order.
-
- pctbool, default False
- Whether or not to display the returned rankings in percentile form.
-
- Returns:
- same type as caller
- Return a Series or DataFrame with data ranks as values.

176-2-1、axis(可选,默认值为0):表示对数据的行进行排名,对Series来说,这个参数一般不适用,因为Series只有一维。
176-2-2、method(可选,默认值为'average'):指定排名的方式,可选值有:
176-2-3、numeric_only(可选,默认值为False):如果为True
,将只对数值数据进行排名。
176-2-4、na_option(可选,默认值为'keep'):处理缺失值的方式,可取值为:
176-2-5、ascending(可选,默认值为True):如果为False
,则进行降序排名。
176-2-6、pct(可选,默认值为False):如果为True
,将返回排名的百分比,而不是具体排名。
为Series中的每个值分配一个排名,它能够处理值的顺序,并为重复值提供不同的排名方式。具体来说,rank方法可以根据选择的排名方式和其他参数,返回每个值的排名,适用于数据分析和统计计算。
返回一个新的Series,其索引与原始Series相同,但值代表原始数据中每个元素的排名。
无
无
- # 176、pandas.Series.rank方法
- # 176-1、无重复值
- import pandas as pd
- data = pd.Series([3, 5, 6, 8, 10, 11, 24])
- ranked_data = data.rank(method='average', ascending=True)
- print(ranked_data, end='\n\n')
-
- # 176-2、有重复值
- import pandas as pd
- data = pd.Series([3, 5, 6, 8, 10, 10, 11, 24])
- ranked_data = data.rank(method='average', ascending=True)
- print(ranked_data)
- # 176、pandas.Series.rank方法
- # 176-1、无重复值
- # 0 1.0
- # 1 2.0
- # 2 3.0
- # 3 4.0
- # 4 5.0
- # 5 6.0
- # 6 7.0
- # dtype: float64
-
- # 176-2、有重复值
- # 0 1.0
- # 1 2.0
- # 2 3.0
- # 3 4.0
- # 4 5.5
- # 5 5.5
- # 6 7.0
- # 7 8.0
- # dtype: float64

- # 177、pandas.Series.sem方法
- pandas.Series.sem(axis=None, skipna=True, ddof=1, numeric_only=False, **kwargs)
- Return unbiased standard error of the mean over requested axis.
-
- Normalized by N-1 by default. This can be changed using the ddof argument
-
- Parameters:
- axis{index (0)}
- For Series this parameter is unused and defaults to 0.
-
- Warning
-
- The behavior of DataFrame.sem with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar To retain the old behavior, pass axis=0 (or do not pass axis).
-
- skipnabool, default True
- Exclude NA/null values. If an entire row/column is NA, the result will be NA.
-
- ddofint, default 1
- Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements.
-
- numeric_onlybool, default False
- Include only float, int, boolean columns. Not implemented for Series.
-
- Returns:
- scalar or Series (if level specified)

177-2-1、axis(可选,默认值为None):用于指定计算的轴,对于Series
来说,通常不需要指定。
177-2-2、skipna(可选,默认值为True):布尔值,如果为True
,则在计算标准误时会忽略NaN
值;如果为False
,则遇到NaN
值会返回NaN
。
177-2-3、ddof(可选,默认值为1):Delta Degrees of Freedom,样本的自由度,在计算标准误时,通常设置为1
,表示使用样本标准差;设置为0
将使用总体标准差。
177-2-4、numeric_only(可选,默认值为False):布尔值,如果为True
,则仅计算数值类型的数据;如果为False
,则包括所有类型。如果数据中含有非数值类型的列且numeric_only
为False
,则可能导致类型错误。
177-2-5、**kwargs(可选):其他关键字参数,用于后续扩展功能做预留。
用于计算系列的标准误(Standard Error of the Mean),这是数据分析中常用的一种统计指标,反映了样本均值的可靠性。
返回一个标量值,表示系列的标准误。
使用场景:
177-5-1、医学研究:在临床试验或医学研究中,研究人员通常需要计算一组病人测量数据(如血压、胆固醇水平等)的均值及其标准误,以评估治疗效果的稳定性和一致性。
177-5-2、市场调查:在市场调研中,调查员可能会收集顾客满意度评分,通过计算评分的均值和标准误,来判断消费者对产品的总体反馈是否可靠。
177-5-3、实验数据分析:在科学实验中,研究人员可能会收集多次实验的结果,并计算这些结果的均值和标准误,以了解实验测量的一致性和变异性。
177-5-4、金融分析:在投资和金融分析中,分析师可能会计算某类资产收益率的均值和标准误,从而评估投资的风险和潜在回报。
177-5-5、教育评估:在教育测评中,教师可能会计算学生成绩的均值和标准误,以分析班级整体表现的可靠性,帮助改进教学策略。
177-5-6、气候和环境数据:在气象学和环境科学中,研究人员可能会计算某一时间段内气温、降水量的数据均值和标准误,以评估气候变化的趋势和异常。
无
- # 177、pandas.Series.sem方法
- # 177-1、医学研究
- import pandas as pd
- # 假设我们有一组病人的血压数据
- blood_pressure = pd.Series([120, 115, 130, 125, 132])
- # 计算血压均值和标准误
- mean_bp = blood_pressure.mean()
- sem_bp = blood_pressure.sem()
- print(f"血压均值: {mean_bp:.2f}")
- print(f"血压标准误: {sem_bp:.2f}", end='\n\n')
-
- # 177-2、市场调查
- import pandas as pd
- # 顾客满意度评分(1到5分)
- satisfaction_scores = pd.Series([4, 5, 3, 4, 5, 4, 2, 5])
- # 计算满意度均值和标准误
- mean_score = satisfaction_scores.mean()
- sem_score = satisfaction_scores.sem()
- print(f"顾客满意度均值: {mean_score:.2f}")
- print(f"顾客满意度标准误: {sem_score:.2f}", end='\n\n')
-
- # 177-3、实验数据分析
- import pandas as pd
- # 假设我们有多次实验的结果
- experiment_results = pd.Series([1.2, 1.5, 1.4, 1.3, 1.6])
- # 计算实验结果的均值和标准误
- mean_result = experiment_results.mean()
- sem_result = experiment_results.sem()
- print(f"实验结果均值: {mean_result:.2f}")
- print(f"实验结果标准误: {sem_result:.2f}", end='\n\n')
-
- # 177-4、金融分析
- import pandas as pd
- # 假设我们有某个投资组合的月收益率
- monthly_returns = pd.Series([0.05, 0.02, -0.01, 0.04, 0.03])
- # 计算收益率的均值和标准误
- mean_return = monthly_returns.mean()
- sem_return = monthly_returns.sem()
- print(f"月收益率均值: {mean_return:.2f}")
- print(f"月收益率标准误: {sem_return:.2f}", end='\n\n')
-
- # 177-5、教育评估
- import pandas as pd
- # 学生考试成绩
- exam_scores = pd.Series([80, 90, 85, 70, 95])
- # 计算考试成绩的均值和标准误
- mean_score = exam_scores.mean()
- sem_score = exam_scores.sem()
- print(f"考试成绩均值: {mean_score:.2f}")
- print(f"考试成绩标准误: {sem_score:.2f}", end='\n\n')
-
- # 177-6、气候和环境数据
- import pandas as pd
- # 假设我们有连续几天的气温数据
- temperature_data = pd.Series([22, 24, 19, 23, 21, 20])
- # 计算气温的均值和标准误
- mean_temp = temperature_data.mean()
- sem_temp = temperature_data.sem()
- print(f"气温均值: {mean_temp:.2f} °C")
- print(f"气温标准误: {sem_temp:.2f} °C")

- # 177、pandas.Series.sem方法
- # 177-1、医学研究
- # 血压均值: 124.40
- # 血压标准误: 3.14
-
- # 177-2、市场调查
- # 顾客满意度均值: 4.00
- # 顾客满意度标准误: 0.38
-
- # 177-3、实验数据分析
- # 实验结果均值: 1.40
- # 实验结果标准误: 0.07
-
- # 177-4、金融分析
- # 月收益率均值: 0.03
- # 月收益率标准误: 0.01
-
- # 177-5、教育评估
- # 考试成绩均值: 84.00
- # 考试成绩标准误: 4.30
-
- # 177-6、气候和环境数据
- # 气温均值: 21.50 °C
- # 气温标准误: 0.76 °C

- # 178、pandas.Series.skew方法
- pandas.Series.skew(axis=0, skipna=True, numeric_only=False, **kwargs)
- Return unbiased skew over requested axis.
-
- Normalized by N-1.
-
- Parameters:
- axis{index (0)}
- Axis for the function to be applied on. For Series this parameter is unused and defaults to 0.
-
- For DataFrames, specifying axis=None will apply the aggregation across both axes.
-
- New in version 2.0.0.
-
- skipnabool, default True
- Exclude NA/null values when computing the result.
-
- numeric_onlybool, default False
- Include only float, int, boolean columns. Not implemented for Series.
-
- **kwargs
- Additional keyword arguments to be passed to the function.
-
- Returns:
- scalar or scalar

178-2-1、axis(可选,默认值为0):用于指定计算的轴,对于Series
来说,通常不需要指定。
178-2-2、skipna(可选,默认值为True):布尔值,如果为True
,则在计算偏度时会跳过缺失值;如果为False
,则包含缺失值计算。
178-2-3、numeric_only(可选,默认值为False):布尔值,如果为True
,则只对数值类型的数据进行计算,非数字类型的数据将被忽略。
178-2-4、**kwargs(可选):其他关键字参数,为后续扩展功能做预留。
用于计算序列的偏度(skewness),偏度是衡量数据分布不对称程度的统计量。
返回一个浮点数(float)
,具体取值如下:
使用场景:
178-5-1、数据探索与分析:在数据分析过程中,了解数据的分布特征是非常重要的,通过计算偏度,可以帮助分析师确定数据是否呈现对称分布,进而影响后续的数据处理和建模策略。
178-5-2、异常值检测:偏度可以指示数据是否存在异常值或极端值。例如,右偏分布可能意味着存在较大的极端值,左偏分布则相反,识别这些情况可以帮助清洗数据,确保模型训练的有效性。
178-5-3、特征工程:在构建机器学习模型时,特征的分布会影响模型的性能。对于存在偏度的特征,可能需要进行转换(例如对数变换或平方根变换)以使其更接近正态分布,改善模型的效果。
178-5-4、金融与经济学分析:在金融领域,收益率分布的偏度能够反映市场的风险特征。例如,从投资收益的偏度可以判断资产的风险特性,帮助投资者做出更明智的决策。
178-5-5、假设检验:在某些假设检验(如t检验和ANOVA)中,通常假定数据服从正态分布。偏度的计算可以帮助验证这一假设,确保所选的统计方法的适用性。
178-5-6、报告与可视化:在生成数据分析报告或可视化时,展示偏度值可以作为数据分布特征的一部分,增强信息的传达效果。
无
- # 178、pandas.Series.skew方法
- # 178-1、数据探索与分析
- import pandas as pd
- import numpy as np
- # 生成一个包含随机数的DataFrame
- data = {
- 'A': np.random.normal(loc=0, scale=1, size=1000),
- 'B': np.random.exponential(scale=1, size=1000) # 右偏分布
- }
- df = pd.DataFrame(data)
- # 计算偏度
- skewness_A = df['A'].skew()
- skewness_B = df['B'].skew()
- print(f"Column A skewness: {skewness_A}")
- print(f"Column B skewness: {skewness_B}", end='\n\n')
-
- # 178-2、异常值检测
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- # 生成带有异常值的分布
- data_with_outliers = np.concatenate([np.random.normal(0, 1, 1000), [10, 12, 15]])
- # 创建DataFrame
- df_outliers = pd.DataFrame({'C': data_with_outliers})
- # 计算偏度
- skewness_C = df_outliers['C'].skew()
- # 绘制直方图
- plt.hist(df_outliers['C'], bins=30, color='skyblue', edgecolor='black')
- plt.title(f'Histogram of C (Skewness: {skewness_C:.2f})')
- plt.xlabel('Value')
- plt.ylabel('Frequency')
- plt.show()
-
- # 178-3、特征工程
- import pandas as pd
- import numpy as np
- from sklearn.preprocessing import PowerTransformer
- # 创建一个带偏度的特征
- df_feature = pd.DataFrame({'D': np.random.exponential(scale=1, size=1000)})
- # 计算原始特征的偏度
- original_skewness = df_feature['D'].skew()
- # 使用PowerTransformer进行变换
- pt = PowerTransformer()
- df_transformed = pd.DataFrame(pt.fit_transform(df_feature), columns=['D_transformed'])
- # 计算变换后特征的偏度
- transformed_skewness = df_transformed['D_transformed'].skew()
- print(f"Original skewness: {original_skewness:.2f}")
- print(f"Transformed skewness: {transformed_skewness:.2f}", end='\n\n')
-
- # 178-4、金融与经济学分析
- import pandas as pd
- import numpy as np
- # 假设我们有一些模拟的资产收益率数据
- returns = pd.Series(np.random.normal(0, 1, 1000))
- # 计算收益率的偏度
- skewness_returns = returns.skew()
- print(f"Skewness of asset returns: {skewness_returns:.2f}", end='\n\n')
-
- # 178-5、假设检验
- import pandas as pd
- import numpy as np
- from scipy.stats import shapiro
- # 创建一个样本数据
- sample_data = pd.Series(np.random.normal(0, 1, 100))
- # 计算偏度
- sample_skewness = sample_data.skew()
- # 进行Shapiro-Wilk假设检验
- stat, p_value = shapiro(sample_data)
- print(f"Sample skewness: {sample_skewness:.2f}")
- print(f"Shapiro-Wilk Test Statistic: {stat:.3f}, p-value: {p_value:.3f}", end='\n\n')
-
- # 178-6、报告与可视化
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- # 创建一个样本数据
- example_data = pd.Series(np.random.poisson(lam=3, size=1000))
- # 计算偏度
- example_skewness = example_data.skew()
- # 绘制直方图和偏度
- plt.hist(example_data, bins=30, color='lightgreen', edgecolor='black')
- plt.axvline(example_data.mean(), color='red', linestyle='dashed', linewidth=1, label='Mean')
- plt.axvline(example_data.median(), color='blue', linestyle='dashed', linewidth=1, label='Median')
- plt.title(f'Histogram of Example Data (Skewness: {example_skewness:.2f})')
- plt.xlabel('Value')
- plt.ylabel('Frequency')
- plt.legend()
- plt.show()

- # 178、pandas.Series.skew方法
- # 178-1、数据探索与分析
- # Column A skewness: -0.04151967450030536
- # Column B skewness: 1.989655358177879
-
- # 178-2、异常值检测
- 见图1
-
- # 178-3、特征工程
- # Original skewness: 2.33
- # Transformed skewness: 0.12
-
- # 178-4、金融与经济学分析
- # Skewness of asset returns: -0.01
-
- # 178-5、假设检验
- # Sample skewness: 0.25
- # Shapiro-Wilk Test Statistic: 0.991, p-value: 0.756
-
- # 178-6、报告与可视化
- 见图2

图1:
图2:
- # 179、pandas.Series.std方法
- pandas.Series.std(axis=None, skipna=True, ddof=1, numeric_only=False, **kwargs)
- Return sample standard deviation over requested axis.
-
- Normalized by N-1 by default. This can be changed using the ddof argument.
-
- Parameters:
- axis{index (0)}
- For Series this parameter is unused and defaults to 0.
-
- Warning
-
- The behavior of DataFrame.std with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar To retain the old behavior, pass axis=0 (or do not pass axis).
-
- skipnabool, default True
- Exclude NA/null values. If an entire row/column is NA, the result will be NA.
-
- ddofint, default 1
- Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements.
-
- numeric_onlybool, default False
- Include only float, int, boolean columns. Not implemented for Series.
-
- Returns:
- scalar or Series (if level specified)
- Notes
-
- To have the same behaviour as numpy.std, use ddof=0 (instead of the default ddof=1)

179-2-1、axis(可选,默认值为None):用于指定计算的轴,对于Series
来说,通常不需要指定。
179-2-2、skipna(可选,默认值为True):布尔值,如果为True
,则在计算标准误时会忽略NaN
值;如果为False
,则遇到NaN
值会返回NaN
。
179-2-3、ddof(可选,默认值为1):Delta Degrees of Freedom,样本的自由度,在计算标准误时,通常设置为1
,表示使用样本标准差;设置为0
将使用总体标准差。
179-2-4、numeric_only(可选,默认值为False):布尔值,如果为True
,则仅计算数值类型的数据;如果为False
,则包括所有类型。如果数据中含有非数值类型的列且numeric_only
为False
,则可能导致类型错误。
179-2-5、**kwargs(可选):其他关键字参数,用于后续扩展功能做预留。
计算Series中数据的标准差,标准差是衡量数据分布离均值的远近程度的指标,反映了数据的离散程度。具体来讲,如果标准差小,说明数据点相对集中;如果标准差大,说明数据点分散得比较开。
179-4-1、返回一个浮点数,表示Series中数值数据的标准差。
179-4-2、如果Series中全部值为NaN或者没有有效数值,返回NaN。
使用场景:
179-5-1、数据分析:在数据分析过程中,了解数据的分布特征非常重要,标准差可以帮助分析师评估数据的离散程度,从而更好地理解数据的波动性。
179-5-2、质量控制:在生产和质量管理中,监控产品的测量值并计算标准差,可用于判断生产过程的稳定性和一致性,较低的标准差表示生产过程的一致性较高。
179-5-3、金融分析:在金融市场中,投资者常常利用标准差来衡量投资回报的风险,高标准差表明投资回报的不确定性大,可能意味着更高的风险。
179-5-4、实验数据处理:在科学实验中,标准差用于描述实验数据的测量误差和结果的可靠性,通过计算标准差,科研人员可以评估实验结果的变异程度。
179-5-5、机器学习:在特征工程中,计算标准差有助于进行数据预处理,识别和处理离群值,此外,标准差可以作为特征之一用于模型训练和评估。
179-5-6、健康研究:在医学和公共卫生领域,研究者通过计算健康指标(如体重、血压等)的标准差来评估人群的健康状况,以及不同人群之间的差异。
无
- # 179、pandas.Series.std方法
- # 179-1、数据分析
- import pandas as pd
- # 创建一个示例数据集
- data = {'scores': [78, 85, 90, 93, 88, 95, 80]}
- df = pd.DataFrame(data)
- # 计算分数的标准差
- std_dev = df['scores'].std()
- print(f"分数的标准差为: {std_dev}")
-
- # 179-2、质量控制
- import pandas as pd
- # 生产过程中测量的产品尺寸
- measurements = [10.1, 10.2, 10.1, 10.3, 10.5, 10.2, 10.4]
- df = pd.DataFrame(measurements, columns=['size'])
- # 计算尺寸的标准差
- std_dev = df['size'].std()
- print(f"产品尺寸的标准差为: {std_dev}")
-
- # 179-3、金融分析
- import pandas as pd
- # 创建一个示例数据集,表示股价每日收益
- returns = [0.02, 0.03, -0.01, 0.04, 0.01, -0.02, 0.03]
- df = pd.DataFrame(returns, columns=['returns'])
- # 计算每日收益的标准差
- std_dev = df['returns'].std()
- print(f"每日收益的标准差为: {std_dev}")
-
- # 179-4、实验数据处理
- import pandas as pd
- # 每次实验的测量结果
- results = [5.2, 5.3, 5.1, 5.4, 5.3, 5.5]
- df = pd.DataFrame(results, columns=['experiment'])
- # 计算实验结果的标准差
- std_dev = df['experiment'].std()
- print(f"实验结果的标准差为: {std_dev}")
-
- # 179-5、机器学习
- import pandas as pd
- # 创建特征数据集
- data = {
- 'feature1': [1.2, 1.5, 1.1, 1.4, 1.3],
- 'feature2': [2.1, 2.0, 2.2, 2.4, 2.3]
- }
- df = pd.DataFrame(data)
- # 计算每个特征的标准差
- std_dev_feature1 = df['feature1'].std()
- std_dev_feature2 = df['feature2'].std()
- print(f"特征1的标准差为: {std_dev_feature1}")
- print(f"特征2的标准差为: {std_dev_feature2}")
-
- # 179-6、健康研究
- import pandas as pd
- # 创建一个示例数据集,表示一组人的体重(单位: kg)
- weights = [65, 70, 68, 72, 64, 66, 69]
- df = pd.DataFrame(weights, columns=['weight'])
- # 计算体重的标准差
- std_dev = df['weight'].std()
- print(f"体重的标准差为: {std_dev}")

- # 179、pandas.Series.std方法
- # 179-1、数据分析
- # 分数的标准差为: 6.377042156569663
-
- # 179-2、质量控制
- # 产品尺寸的标准差为: 0.1511857892036912
-
- # 179-3、金融分析
- # 每日收益的标准差为: 0.022253945610567476
-
- # 179-4、实验数据处理
- # 实验结果的标准差为: 0.14142135623730964
-
- # 179-5、机器学习
- # 特征1的标准差为: 0.15811388300841892
- # 特征2的标准差为: 0.1581138830084189
-
- # 179-6、健康研究
- # 体重的标准差为: 2.8702082220799308

- # 180、pandas.Series.sum方法
- pandas.Series.sum(axis=None, skipna=True, numeric_only=False, min_count=0, **kwargs)
- Return the sum of the values over the requested axis.
-
- This is equivalent to the method numpy.sum.
-
- Parameters:
- axis{index (0)}
- Axis for the function to be applied on. For Series this parameter is unused and defaults to 0.
-
- Warning
-
- The behavior of DataFrame.sum with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar To retain the old behavior, pass axis=0 (or do not pass axis).
-
- New in version 2.0.0.
-
- skipnabool, default True
- Exclude NA/null values when computing the result.
-
- numeric_onlybool, default False
- Include only float, int, boolean columns. Not implemented for Series.
-
- min_countint, default 0
- The required number of valid values to perform the operation. If fewer than min_count non-NA values are present the result will be NA.
-
- **kwargs
- Additional keyword arguments to be passed to the function.
-
- Returns:
- scalar or scalar

180-2-1、axis(可选,默认值为None):对于Series
来说,axis
参数不适用,主要用于DataFrame
时指定轴的方向。
180-2-2、skipna(可选,默认值为True):指示在计算总和时是否跳过缺失值(NaN),如果设置为False,则总和将在遇到NaN时为NaN。
180-2-3、numeric_only(可选,默认值为False):若为True,只有数值类型的列才会被计算。如果是DataFrame
,将忽略非数值类型的数据;对于Series
,此参数通常不起作用。
180-2-4、min_count(可选,默认值为0):计算总和所需的最小非 NA/null 值数量,若非NA值的数量少于min_count
,则结果将为NaN。
180-2-5、**kwargs(可选):其他关键字参数,用于后续扩展功能做预留。
计算Series
中所有元素的总和,它会将系列中的数值元素相加,通常会跳过缺失值(NaN),除非指定不跳过,此外,它也可以根据参数设置的要求,返回特定条件下的计算结果。
返回一个数值,表示总和。如果计算过程中所有元素都是缺失值(NaN)或者符合设置的条件不满足(如min_count
参数),则返回结果为NaN。
使用场景:
180-5-1、数据汇总:当需要对一组数值数据进行汇总统计时,可以使用sum()
方法快速得出总和。例如,在财务数据分析中,可以计算一段时间内的总收入或总支出。
180-5-2、缺失值处理:在数据清洗过程中,经常会遇到缺失值。使用sum()
方法的skipna
参数,可以灵活地选择是否包含缺失值进行计算,帮助分析数据的完整性。
180-5-3、条件过滤后求和:结合布尔索引,可以先对数据进行过滤,再使用sum()
方法计算满足特定条件的数据总和。例如,可以计算某一产品类别的总销量。
180-5-4、时间序列分析:在处理时间序列数据时,常常需要计算一定时间段内的总和,例如每月的总销售额或每年的总收益。
180-5-5、组合计算:在多重指标分析中,可能需要对多个Series
的总和进行比较或组合运算sum()
方法可以提供便利。
180-5-6、数据报告生成:在生成数据报告或可视化时,常常需要提供一些基本的统计信息,包括总和,以展示数据的整体情况。
180-5-7、性能优化:在进行高性能数据处理时,使用sum()
方法可以利用Pandas内部优化,提升计算速度,尤其在处理大数据集时尤为重要。
无
- # 180、pandas.Series.sum方法
- # 180-1、数据汇总
- import pandas as pd
- # 创建一个包含销售数据的Series
- sales = pd.Series([200, 300, 150, 400, 250])
- # 计算总销售额
- total_sales = sales.sum()
- print(f"总销售额: {total_sales}")
-
- # 180-2、缺失值处理
- import pandas as pd
- import numpy as np
- # 创建一个包含缺失值的Series
- data = pd.Series([10, 20, np.nan, 40, 50])
- # 计算总和,跳过缺失值
- total_sum = data.sum(skipna=True)
- print(f"总和(跳过缺失值): {total_sum}")
-
- # 180-3、条件过滤后求和
- import pandas as pd
- # 创建一个包含产品销售数据的Series
- sales = pd.Series([100, 200, 300, 400], index=['A', 'B', 'A', 'B'])
- # 计算产品 'A' 的总销售额
- a_total_sales = sales[sales.index == 'A'].sum()
- print(f"产品A的总销售额: {a_total_sales}")
-
- # 180-4、时间序列分析
- import pandas as pd
- # 创建一个时间序列数据
- dates = pd.date_range('2023-01-01', periods=5)
- sales_data = pd.Series([100, 150, 200, 250, 300], index=dates)
- # 计算月销售总和
- monthly_total = sales_data.sum()
- print(f"本月销售总和: {monthly_total}")
-
- # 180-5、组合计算
- import pandas as pd
- # 创建多个Series数据
- sales_A = pd.Series([100, 200, 300])
- sales_B = pd.Series([150, 250, 100])
- # 计算各自的总和并组合
- total_A = sales_A.sum()
- total_B = sales_B.sum()
- combined_total = total_A + total_B
- print(f"产品A和B的总销售额: {combined_total}")
-
- # 180-6、数据报告生成
- import pandas as pd
- # 假设我们有一个数据框包含一些产品的销量
- data = {'Product': ['A', 'B', 'C'],
- 'Sales': [300, 150, 200]}
- df = pd.DataFrame(data)
- # 计算总销售额以生成报告
- total_sales = df['Sales'].sum()
- print(f"所有产品的总销售额: {total_sales}")
-
- # 180-7、性能优化
- import pandas as pd
- import numpy as np
- # 创建一个包含大量数据的Series
- large_series = pd.Series(np.random.rand(10**6))
- # 计算总和
- total_sum = large_series.sum()
- print(f"大数据集的总和: {total_sum}")

- # 180、pandas.Series.sum方法
- # 180-1、数据汇总
- # 总销售额: 1300
-
- # 180-2、缺失值处理
- # 总和(跳过缺失值): 120.0
-
- # 180-3、条件过滤后求和
- # 产品A的总销售额: 400
-
- # 180-4、时间序列分析
- # 本月销售总和: 1000
-
- # 180-5、组合计算
- # 产品A和B的总销售额: 1100
-
- # 180-6、数据报告生成
- # 所有产品的总销售额: 650
-
- # 180-7、性能优化
- # 大数据集的总和: 499809.22077620646

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。