• 情景：计算两次考试，所有学生的平均成绩： '''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
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'''

# average grade at 0701 and 0702

# 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 thisID     country   month   revenue  profit   ebit234    USA       201409   10        5       3344    USA       201409    9        7       2532    UK        201410    20       10      5129    Canada    201411    15       10      5I 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   countUSA     201409     19        12      5      2UK      201409     20        10      5      1Canada  201411     15        10      5      1I 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)>>> df1ebit  profit  revenuecountry monthCanada  201411     5      10       15UK      201410     5      10       20USA     201409     5      12       19>>> df2=pd.pivot_table(df, index=['country','month'], values='ID',aggfunc=len).rename('count')>>> df2country  monthCanada   201411    1UK       201410    1USA      201409    2>>> pd.concat([df1,df2],axis=1)ebit  profit  revenue  countcountry monthCanada  201411     5      10       15      1UK      201410     5      10       20      1USA     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)dataDatetimeIndex: 290 entries, 2011-01-01 00:00:00 to 2011-12-31 00:00:00Data columns (total 12 columns):HR             290  non-null valuesPreciAcu       290  non-null valuesRadSolar       290  non-null valuesT              290  non-null valuesPresion        290  non-null valuesTmax           290  non-null valuesHRmax          290  non-null valuesPresionmax     290  non-null valuesRadSolarmax    290  non-null valuesTmin           290  non-null valuesHRmin          290  non-null valuesPresionmin     290  non-null valuesdtypes: float64(4), int64(8)哪里：data['HR']Fecha2011-01-01    372011-02-01    702011-03-01    622011-04-01    692011-05-01    722011-06-01    712011-07-01    712011-08-01    702011-09-01    40...2011-12-17    922011-12-18    782011-12-19    792011-12-20    762011-12-21    782011-12-22    802011-12-23    722011-12-24    70此外,有些月份并不总是完整的.我的目标是从每日数据计算每个月的平均值.这是通过以下方式实现的：monthly=data.resample('M', how='mean')HR   PreciAcu    RadSolar         T        Presion     TmaxFecha2011-01-31  68.586207   3.744828  163.379310  17.496552        0  25.8758622011-02-28  68.666667   1.966667  208.000000  18.854167        0  28.8791672011-03-31  69.136364   3.495455  218.090909  20.986364        0  30.3590912011-04-30  68.956522   1.913043  221.130435  22.165217        0  31.7086962011-05-31  72.700000   0.550000  201.100000  18.900000        0  27.4600002011-06-30  70.821429   6.050000  214.000000  23.032143        0  30.6214292011-07-31  78.034483   5.810345  188.206897  21.503448        0  27.9517242011-08-31  71.750000   1.028571  214.750000  22.439286        0  30.6571432011-09-30  72.481481   0.185185  196.962963  21.714815        0  29.5962962011-10-31  68.083333   1.770833  224.958333  18.683333        0  27.0750002011-11-30  71.750000   0.812500  169.625000  18.925000        0  26.2375002011-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.66mean 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的数据概况三、取数据四、取行数据五、取某一单元格数据六、缺失值处理七、归一化处理八、排序九、索引重新编号十、求均值十一、矢量化操作(批量操作)十二...
• 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中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进行数据分析