精华内容
下载资源
问答
  • 情景:计算两次考试,所有学生的平均成绩: '''a.csv date,name,grade 2020-07-01,mary,70 2020-07-01,tom,80 2020-07-01,jerry,70 2020-07-02,mary,80 2020-07-02,tom,90 ...grade = pd.read_csv('C:\\test\\a.csv...

    情景:计算两次考试,所有学生的平均成绩:

     

    '''a.csv
    date,name,grade
    2020-07-01,mary,70
    2020-07-01,tom,80
    2020-07-01,jerry,70
    2020-07-02,mary,80
    2020-07-02,tom,90
    2020-07-02,tom,100'''
    
    grade = pd.read_csv('C:\\test\\a.csv')
    
    # average grade at 0701 and 0702
    avg = grade['grade'].groupby(grade['date']).mean()
    
    # format grade avg to 'avg: XX'
    import math
    avg_new = avg.apply(lambda x: 'avg: '+str(math.floor(x))) 
    
    # last step, change avg_new to key-value
    avg_new.to_dict()

    结果:

     

    展开全文
  • Python中如何求DataFrame某一列数的日平均值? 例如求df对象中close列的5日均线: 1.使用循环,采用手动计算的方式: df['close'][i-4:i+1].mean() 获取第i天的5日均线 2.对整个dataframe对象,使用rolling...

    Python中如何求DataFrame中某一列数的日平均值?

    例如求df对象中close列的5日均线:

    1.使用循环,采用手动计算的方式:

    df['close'][i-4:i+1].mean()

    获取第i天的5日均线

    2.对整个dataframe对象,使用rolling函数:

    daily['close'].rolling(5).mean()

    其中rolling[5]返回的是一个rolling对象,包含5行数据的对象,因此需要想(1)中一样使用mean,获取平均值。

    获取每一条记录的5日均值。

    展开全文
  • I have a pandas dataframe that looks like thisID country month revenue profit ebit234 USA 201409 10 5 3344 USA 201409 9 7 2532 UK ...

    I have a pandas dataframe that looks like this

    ID country month revenue profit ebit

    234 USA 201409 10 5 3

    344 USA 201409 9 7 2

    532 UK 201410 20 10 5

    129 Canada 201411 15 10 5

    I want to group by ID, country, month and count the IDs per month and country and sum the revenue, profit, ebit.

    The output for the above data would be:

    country month revenue profit ebit count

    USA 201409 19 12 5 2

    UK 201409 20 10 5 1

    Canada 201411 15 10 5 1

    I have tried different variations of groupby, sum and count functions of pandas but I am unable to figure out how to apply groupby sum and count all together to give the result as shown. Please share any ideas that you might have. Thanks!

    解决方案

    It can be done using pivot_table this way:

    >>> df1=pd.pivot_table(df, index=['country','month'],values=['revenue','profit','ebit'],aggfunc=np.sum)

    >>> df1

    ebit profit revenue

    country month

    Canada 201411 5 10 15

    UK 201410 5 10 20

    USA 201409 5 12 19

    >>> df2=pd.pivot_table(df, index=['country','month'], values='ID',aggfunc=len).rename('count')

    >>> df2

    country month

    Canada 201411 1

    UK 201410 1

    USA 201409 2

    >>> pd.concat([df1,df2],axis=1)

    ebit profit revenue count

    country month

    Canada 201411 5 10 15 1

    UK 201410 5 10 20 1

    USA 201409 5 12 19 2

    展开全文
  • 我有下DataFrame:data=pd.read_csv('anual.csv', parse_dates='Fecha', index_col=0)dataDatetimeIndex: 290 entries, 2011-01-01 00:00:00 to 2011-12-31 00:00:00Data columns (total 12 columns):HR 2...

    我有下一个DataFrame:

    data=pd.read_csv('anual.csv', parse_dates='Fecha', index_col=0)

    data

    DatetimeIndex: 290 entries, 2011-01-01 00:00:00 to 2011-12-31 00:00:00

    Data columns (total 12 columns):

    HR 290 non-null values

    PreciAcu 290 non-null values

    RadSolar 290 non-null values

    T 290 non-null values

    Presion 290 non-null values

    Tmax 290 non-null values

    HRmax 290 non-null values

    Presionmax 290 non-null values

    RadSolarmax 290 non-null values

    Tmin 290 non-null values

    HRmin 290 non-null values

    Presionmin 290 non-null values

    dtypes: float64(4), int64(8)

    哪里:

    data['HR']

    Fecha

    2011-01-01 37

    2011-02-01 70

    2011-03-01 62

    2011-04-01 69

    2011-05-01 72

    2011-06-01 71

    2011-07-01 71

    2011-08-01 70

    2011-09-01 40

    ...

    2011-12-17 92

    2011-12-18 78

    2011-12-19 79

    2011-12-20 76

    2011-12-21 78

    2011-12-22 80

    2011-12-23 72

    2011-12-24 70

    此外,有些月份并不总是完整的.我的目标是从每日数据计算每个月的平均值.这是通过以下方式实现的:

    monthly=data.resample('M', how='mean')

    HR PreciAcu RadSolar T Presion Tmax

    Fecha

    2011-01-31 68.586207 3.744828 163.379310 17.496552 0 25.875862

    2011-02-28 68.666667 1.966667 208.000000 18.854167 0 28.879167

    2011-03-31 69.136364 3.495455 218.090909 20.986364 0 30.359091

    2011-04-30 68.956522 1.913043 221.130435 22.165217 0 31.708696

    2011-05-31 72.700000 0.550000 201.100000 18.900000 0 27.460000

    2011-06-30 70.821429 6.050000 214.000000 23.032143 0 30.621429

    2011-07-31 78.034483 5.810345 188.206897 21.503448 0 27.951724

    2011-08-31 71.750000 1.028571 214.750000 22.439286 0 30.657143

    2011-09-30 72.481481 0.185185 196.962963 21.714815 0 29.596296

    2011-10-31 68.083333 1.770833 224.958333 18.683333 0 27.075000

    2011-11-30 71.750000 0.812500 169.625000 18.925000 0 26.237500

    2011-12-31 71.833333 0.160000 159.533333 17.260000 0 25.403333

    我发现的第一个错误是在降水列中,因为所有观测结果在1月份都是0,而在这个特定月份获得的平均值为3.74.

    当Excel中的平均值与上面的结果进行比较时,存在显着差异.例如,Febrero的HR平均值是

    mean HR using pandas=68.66

    mean HR using excel=67

    我找到的另一个细节:

    data['PreciAcu']['2011-01'].count()

    29 and should be 31

    难道我做错了什么?

    我该如何解决这个错误?

    附件csv文件:

    展开全文
  • 已知DataFrame的数据集rr为: 计算R_interval、F_value、M_value每数据与其均值的差。 若下面这样筛选数据则会报错,一直没找到具体原因。 rr['R_interval'].apply(lambda x:x-x.mean()).head() 但是若用...
  • pandas常用知识一、读取csv文件为dataframe二、dataframe的数据概况三、取数据四、取行数据五、取某一单元格数据六、缺失值处理七、归一化处理八、排序九、索引重新编号十、求均值十一、矢量化操作(批量操作)十二...
  • 1、批量修改datafram中某一列 在数据处理过程中,经常会出现对某列批量做某些操作,比如dataframe df要对列名为“values”做大于等于30设置为1,小于30设置为0操作,可以这样使用dataframe的apply函数来实现,具体...
  • pandas常用知识一、读取csv文件为dataframe二、dataframe的数据概况三、取数据四、取行数据五、取某一单元格数据六、缺失值处理七、归一化处理八、排序九、索引重新编号十、求均值十一、矢量化操作(批量操作)十二...
  • 博主真真是个遍历BUG的小能手,这个问题的原因是在pd.read_csv()之类的操作时候,没有指定...要问我怎么发现的,我在使用DEBUG功能时候,使用了这个函数:意思就是对dataframe某一列均值啦,返回typeerror,我...
  • Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值。DataFrame数据格式fillna方式实现groupby方式实现DataFrame数据格式以下是数据存储形式:fillna方式实现1、按照industryName1列...
  • Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值。DataFrame数据格式fillna方式实现groupby方式实现DataFrame数据格式以下是数据存储形式:fillna方式实现1、按照industryName1列...
  • Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值。DataFrame数据格式fillna方式实现groupby方式实现DataFrame数据格式以下是数据存储形式:fillna方式实现1、按照industryName1列...
  • 微信公众号原文 系统:Windows 7 ...计算Dataframe某一列的和、均值、最大值、最小值、样本标准方差 Part 1:背景 已知一个Df,如下图 包括3列["time", "pos", "value1", "value2"] 包括8行[0,1,2,3,4,
  • DataFrame中的元素可以根据某一列来分组时,比如各个国家的经济数据根据各个国家所在的大陆分成几组 DataFrame.groupby('continent').GDP.mean() DataFrame.groupby('continent').mean() 第一行得到的是...
  • pandas

    2018-09-03 21:52:16
    apply map map()将函数作用于Series中的每个元素 apply()作用于DataFrame中的行或者列,一维的向量...计算某一列中的去重复后的元素数:df[df.columns[1]].nunique() sort df.sort_values(by=['col1']) df.sor...
  • Python 进行 DataFrame 数据处理的过程中,需要判断某一列中的值(条件),然后对其他两列或三列进行求和(均值/最值)等运算,并把运算结果存储在新的一列中。干说可能觉得比较晕,我们来看一个例子: 下表 data_...
  • Pandas中的appy和applymap

    2020-03-11 13:51:38
    我们经常会遇到对某一行的数据进行处理或者某一列进行处理这时候我们就可用到pandas中apply函数 示例代码: import pandas as pd import numpy as np # 创建一个dataframe df = pd.DataFrame(np.random.randn(3,4),...
  • Python 进行 DataFrame 数据处理的过程中,需要判断某一列中的值(条件),然后对其他两列或三列进行求和(均值/最值)等运算,并把运算结果存储在新的一列中。干说可能觉得比较晕,我们来看一个例子:下表 data_base 中...
  • 一.准备知识 pandas.isnull(Series对象) 返回bool型的Series对象 同 Series对象.isnull() ...NAN和任何值做计算时,结果都为NAN,所以在对某一列做求和,求均值等操作时,需先过滤掉缺失值 *.mean(...
  • Pandas - groupby-agg 分组统计 分组统计是数据分析中较为复杂的一种操作,但是使用...以某一列为参照物对另一列进行分组统计 对data1按照key1进行分组,然后求均值: """ 数据聚合与分组技术, 利用Python进行数据分析

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

dataframe某一列均值