精华内容
下载资源
问答
  • 它为没有Student,Class的所有列创建加权平均值:df2 = df.drop('Student', axis=1) \.groupby('Class') \.apply(lambda x: x.drop(['Class', 'wb'], axis=1).mul(x.wb, 0).sum() / (x.wb).sum()) \.add_suffix('_M'...

    更一般的解决方案:

    1.它为没有Student,Class的所有列创建加权平均值:df2 = df.drop('Student', axis=1) \

    .groupby('Class') \

    .apply(lambda x: x.drop(['Class', 'wb'], axis=1).mul(x.wb, 0).sum() / (x.wb).sum()) \

    .add_suffix('_M') \

    .reset_index()

    print (df2)

    Class V1_M V2_M V3_M

    0 A 9.526316 9.157895 10.684211

    1 B 3.900000 7.700000 7.900000

    2 C 5.428571 2.857143 3.000000

    3 D 5.631579 3.473684 5.526316

    也可以为加权平均值定义列:

    ^{pr2}$

    更一般的方法是按^{}过滤所有以V开头的列:df2 = df.groupby('Class') \

    .apply(lambda x: x.filter(regex='^V').mul(x.wb, 0).sum() / (x.wb).sum()) \

    .add_suffix('_M') \

    .reset_index()

    print (df2)

    Class V1_M V2_M V3_M

    0 A 9.526316 9.157895 10.684211

    1 B 3.900000 7.700000 7.900000

    2 C 5.428571 2.857143 3.000000

    3 D 5.631579 3.473684 5.526316

    展开全文
  • 我是Python用户,但在使用熊猫方面是新手.我希望更多地使用它,因为我正在处理大量的时间序列,并且我听说用熊猫修改它们...我想用熊猫技术计算360(30y×12个月)个月月平均值(即分离1979年1月,1979年2月,2009年12月和平...

    我是

    Python用户,但在使用熊猫方面是新手.我希望更多地使用它,因为我正在处理大量的时间序列,并且我听说用熊猫修改它们要容易得多.我已经阅读了一些教程,但它们还没有意义.希望你能帮我一个例子.

    我有一个包含四列的文本文件:年,月,日和雪深.这是1979年至2009年30年的每日数据.我想用熊猫技术计算360(30y×12个月)个月月平均值(即分离1979年1月,1979年2月,2009年12月和平均每个的所有值).有人可以帮我解决一些示例代码吗?

    谢谢.

    1979 1 1 3

    1979 1 2 3

    1979 1 3 3

    1979 1 4 3

    1979 1 5 3

    1979 1 6 3

    1979 1 7 4

    1979 1 8 5

    1979 1 9 7

    1979 1 10 8

    1979 1 11 16

    1979 1 12 16

    1979 1 13 16

    1979 1 14 18

    1979 1 15 18

    1979 1 16 18

    1979 1 17 18

    1979 1 18 20

    1979 1 19 20

    1979 1 20 20

    1979 1 21 20

    1979 1 22 20

    1979 1 23 18

    1979 1 24 18

    1979 1 25 18

    1979 1 26 18

    1979 1 27 18

    1979 1 28 18

    1979 1 29 18

    1979 1 30 18

    1979 1 31 19

    1979 2 1 19

    1979 2 2 19

    1979 2 3 19

    1979 2 4 19

    1979 2 5 19

    1979 2 6 22

    1979 2 7 24

    1979 2 8 27

    1979 2 9 29

    1979 2 10 32

    1979 2 11 32

    1979 2 12 32

    1979 2 13 32

    1979 2 14 33

    1979 2 15 33

    1979 2 16 33

    1979 2 17 34

    1979 2 18 36

    1979 2 19 36

    1979 2 20 36

    1979 2 21 36

    1979 2 22 36

    1979 2 23 36

    1979 2 24 31

    1979 2 25 29

    1979 2 26 27

    1979 2 27 27

    1979 2 28 27

    展开全文
  • 查看更新日志Pandas 窗口函数,为了处理数字数据,Pandas 提供几种窗口函数,如移动窗口函数(rolling()),扩展窗口函数(expanding()),指数加权滑动(ewm()),同时可在基基础上调用适合的统计函数,如求和、中位、...

    说明

    Pandas 中文教程修订中,欢迎加微信 sinbam 提供建议、纠错、催更。查看更新日志

    Pandas 窗口函数,为了处理数字数据,Pandas 提供几种窗口函数,如移动窗口函数(rolling()),扩展窗口函数(expanding()),指数加权滑动(ewm()),同时可在基基础上调用适合的统计函数,如求和、中位数、均值、协方差、方差、相关性等。

    理解窗口

    可以把“窗口”(windows)这个理解一个集合,一个窗口就是一个集合,在统计分析中有需要不同的「窗口」,比如一个部门分成不同组,在统计时会按组进行平均、排名等操作。再比如,在一些像时间这种有顺序的数据,我们可能5天分一组、一月分一组再进行排序、求中位数等计算。

    rolling(10) 与 groupby 很像,但并没有进行分组,而是创建了一个按移动 10(天)位的滑动窗口对象。我们再对每个对象进行统计操作。

    expanding,「扩展」从数据(大多情况下是时间)的起始处开始窗口,增加窗口直到指定的大小。

    以下是 Expanding vs. rolling window 图示:

    以下是 rolling 动图示例:

    以下是 expanding 动图示例:

    指数加权函数

    指数加权函数(Exponential weighted moving),在上述两个统计方法中分组中的所有数值的权重都是一样的,指数加权就是我们对分组中的数据给予不同的权重用于后边的计算中。如指数移动平均(Exponential Moving Average)也叫权重移动平均(Weighted Moving Average),是以指数式递减加权的移动平均,各数值的加权影响力随时间呈指数式递减,时间越靠近当前时刻的数据加权影响力越大。

    梯度下降法,就是计算了梯度的指数加权平均数,并以此来更新权重,它的运行速度几乎总是快于标准的梯度下降算法。

    Pandas 中的窗口

    滚动对象通过.rolling调用返回:pandas.DataFrame.rolling(),pandas.Series.rolling() 等。扩展对象通过.expanding 调用返回:pandas.DataFrame.expanding(),pandas.Series.expanding() 等。EWM 对象由.ewm调用返回:pandas.DataFrame.ewm(),pandas.Series.ewm() 等。

    参考:

    - todo: https://pandas.pydata.org/docs/user_guide/groupby.html#window-and-resample-operations

    - https://geek-docs.com/pandas/pandas-tutorials/pandas-window-function.html

    展开全文
  • 有没有一种简单的方法来计算pandas DataFrame中每一列的平均值,并且为每一行排除特定值?下面每一行中的x标记了每次迭代中要从计算中排除的值:a b a b a b0 1 2 0 x x 0 1 21 ...

    有没有一种简单的方法来计算pandas DataFrame中每一列的平均值,并且为每一行排除特定值?下面每一行中的x标记了每次迭代中要从计算中排除的值:

    a b a b a b

    0 1 2 0 x x 0 1 2

    1 2 4 first loop 1 2 4 second loop 1 x x etc.

    2 3 6 ---> 2 3 6 ---> 2 3 6 --->

    3 4 8 3 4 8 3 4 8

    4 5 10 4 5 10 4 5 10

    ____________ _____________

    col_avg: 3.5 7.0 col_avg: 3.25 6.5

    Using only 4 values at each iteration, as the "x" is excluded from data set

    产生一个新的DataFrame

    a_x b_x

    0 3.5 7.0

    1 3.25 6.5

    2 3.0 6.0

    3 2.75 5.5

    4 2.5 5.0

    谢谢

    / N

    展开全文
  • df2.columns = df2.columns.swaplevel('Location', None) 最后,使用resample来获取十年期间数据的平均值: >>> df2.resample('10A', how='mean') # 'A'=Annual, '10A'=TenYears Location (46.90625, -115.46875) a ...
  • 我试图从csv文件的不规则时间序列中获取每日平均值.csv文件中的数据从2013年9月20日13:00开始,一直持续到2014年1月14日10:57:Time Values20/09/2013 13:00 5.13354020/09/2013 13:01 5.14499320/09/2013 13:02 5....
  • python - pandas DataFrame:用平均列替换nan值我有一个大部分都有实数的pandas DataFrame,但它中也有一些nan值。如何用平均列替换nan?这个问题与这个问题非常相似:numpy数组:用列的平均值替换nan值,但不幸的是...
  • import pandas as pd movie= pd.read_csv('movie.csv') movie.head() Rank Title Genre Description Director ... Runtime (Minutes) Rating Votes Revenue (Millions) Metascore ...
  • 我有一个数据框,我想计算扩展平均值超过一列(quiz_score),但需要按两个不同的列(userid和week)进行分组.数据如下所示:data = {"userid": ['1','1','1','1','1','1','1','1', '2','2','2','2','2','2','2','2'],\...
  • Pandas

    2021-01-19 20:12:17
    mean():计算样本数据的算术平均值 std():计算标准差 cov():计算 协方差矩阵 var();计算方差 describe():描述样本数据的基本情况,包括非NaN数据个,均值,标准差,最小值 样本的25%,50%,75%分位数,最大值 Pandas...
  • importnumpy as npimportpandas as pddf= pd.DataFrame({'var1':np.random.rand(100), #生成100个0到1之间的随机数'var2':100,'var3':np.random.choice([20,30,90]) #在这几个之间选择})for col indf.columns:...
  • 如何查看Pandas DataFrame对象列的最大值、最小值、平均值、标准差、中位等 我们举个例子说明一下,先创建一个dataframe对象df,内容如下: 1.使用sum函数获得函数列的和,用法:df.sum() 2.使用max获取最大值,用法...
  • 需求是这样的:将两个数据集进行ks检验,算中位方差标准差等数据,最后输出到数据库中 import psycopg2 import os import pandas as pd from scipy.stats import ks_2samp import numpy as np from sqlalchemy ...
  • 我有一个pandas数据框,由一些传感器读组成,这些读是经过一段时间采集的,如下所示:diode1 diode2 diode3 diode4Time0.530 7 0 10 161.218 17 7 14 191.895 13 8 16 172.570 ...
  • 对所有列进行基本的统计求值: users.describe(include='all')
  • 在时间序列分析当中,我们经常会遇到时间轴上数据缺失值的补充,常用的方法使用移动平均值。Series的方法fillna()实现了该功能。...如现在有一个Series,包含100个(),现在我们要以10为窗口,计算滚动...
  • –移动平均数<–移动平均<–算术平均。 1、2、3、4、5、6、7、8、9、10、11、12、13 前十个数的平均值是5.5,这个是算术平均数。向后移动一位,计算2-11的平均数是6.5;继续向后,得到的这一组数据...
  • mean()平均值 median()中位 max()最大值 min()最小值 sum()求和 std()标准差 Series类型独有的方法: argmax()最大值的位置 argmin()最小值的位置   demo.py(pandas常用统计函数): # coding=utf-8...
  • 我有一个带MultiIndex的DataFrame:# -*- coding: utf-8 -*-import numpy as npimport pandas as pd# dataframe with datesdates = pd.DataFrame()dates['2016'] = pd.date_range(start='2016', periods=4, freq='60...
  • 9.2 Pandas

    2020-06-23 09:37:19
    文章目录Pandas数据结构SeriesDataFrame查看属性 dtypes查看行标签只查看所有的值(忽略行列标签)查看首尾项tail()、head()查看数据的总结(如平均数、中位数等)翻转数据排序数据根据数据值进行排序 sort_values(by, ...
  • 统计分析代码: ...import pandas as pd import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r"C:\\WINDOWS\\Fonts\\simsun.ttc", size=10...
  • pandas_VS_Excel统计各班成绩的最大最小平均分合格优秀尖子人数 [要求] 1.先分组再显示describe()情况 2.只统计“语文”“数学”“英语”三科各班的成绩最高分,最低分,平均分, 2.以上面的基础上设计自定义函数,...
  • pandas的一些

    2019-03-19 21:46:00
    在具体谈及骚操作之前先捋一遍基本的统计特征函数 ...计算数据样本的算术平均数 pandas var() 计算样本的方差 pandas std() 计算样本的标准差 pandas sample() 计算样本的Spearm...
  • pandas函数

    2019-09-21 03:53:58
    方法名 函数功能 ...算数平均数 var() 方差 std() 标准差 corr() 皮尔逊相关系数 cov() 协方差矩阵 skew() ...
  • 最近收到一个求助邮件,他的需求如下:我是小学的一名统计员,因长期做统计工作,近期,自学一点python,但如何把excel中的8位数出生日期转成年龄,一直做...1、读入excel文件import pandas as pdfile_name = r'学...
  • 使用了sys和pandas这两个库,而pandas是三方库,需要用pip下载下来: pip install pandas   Logger函数用来将出现在屏幕上的数据记录下来并写入到指定文件中去。 averageALL函数用来求所有学生的平均...
  • mean()平均值 median()中位 max()最大值 min()最小值 sum()求和 std()标准差Series类型独有的方法:argmax()最大值的位置 argmin()最小值的位置demo.py(pandas常用统计函数):# coding=utf-8import numpy as np...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 333
精华内容 133
关键字:

pandas平均数