python/pandas/Numpy数据分析-统计描述,唯一值,值计数

原文链接:https://yq.aliyun.com/articles/350263

pandas 对象拥有一组常用的数学和统计方法,大部分属于简约统计,用于从Series中提取一个值,或者从DataFrame中提取一列或者一行Series

注意:与NumPy数组相比,这些函数都是基于没有缺失数据的建设构建的,也就是说:这些函数会自动忽略缺失值。

count   非 NA 值的数量
describe    针对 Series 或 DF 的列计算汇总统计
min , max   最小值和最大值
argmin , argmax 最小值和最大值的索引位置(整数)
idxmin , idxmax 最小值和最大值的索引值
quantile    样本分位数(01sum 求和
mean    均值
median  中位数
mad 根据均值计算平均绝对离差
var 方差
std 标准差
skew    样本值的偏度(三阶矩)
kurt    样本值的峰度(四阶矩)
cumsum  样本值的累计和
cummin , cummax 样本值的累计最大值和累计最小值
cumprod 样本值的累计积
diff    计算一阶差分(对时间序列很有用)
pct_change  计算百分数变化

唯一值与值计数

obj=Series(list('cadaabbcc'))
uniques=obj.unique()
uniques

c    3
a    3
b    2
d    1
dtype: int64

排序的话

uniques.sort()
uniques

array(['a', 'b', 'c', 'd'], dtype=object)

value_counts用于计算一个Series中各值出现的频率.

obj.value_counts()
a    3
d    1
b    2
c    3
dtype: int64

value_counts还是一个顶级pandas方法,可用于任何数组或序列

pd.value_counts(obj.values, sort=False)

a    3
d    1
b    2
c    3
dtype: int64

这里写图片描述

展开阅读全文
博主设置当前文章不允许评论。

唯一问题及站点统计问题

01-21

1、准备做一个页面,录入考生信息,并生成考生号(专业号+四位流水号),要求生成的考生号唯一,流水号从0001逐一增加至9999,使用时会有几十台机器同时操作数据,自己粗浅的想想:a、读数据库找出相同专业最大流水号,自动加1;b、设置application变量,另外数据库(sql2000唯一约束)不想插入记录时报错,该如何操作,请指教一个思路rn2、站点统计代码有问题,请帮忙看看,写在global.asax里,但一到下午,统计当天人数的变量就归零,从头开始(具体下午几点没试出来)贴上代码,帮忙看看:rn protected void Application_Start(Object sender, EventArgs e)rn rn Application["user_sessions"] = 0;//声明一个application变量来做计数器rn Application["dateTime"]=0;//先给赋为0rn Application["day_count"]=0;rn rn protected void Session_Start(Object sender, EventArgs e)rn rn Application.Lock();//先锁定应用程序,这里大家都明白rn Application["user_sessions"] = (int)Application["user_sessions"] + 1;rn //当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱!rnrn /*DataSet objDataSet = new DataSet();rn objDataSet.ReadXml(Server.MapPath("count.xml"));//读xml文件*/rn string xmlPath = Server.MapPath("~/count.xml");rn DataSet ds = XmlObject.GetXml(xmlPath);rn if (Convert.ToInt64(ds.Tables["MyCount"].Rows[0]["MaxCount"]) < (int)Application["user_sessions"])rn rn ds.Tables["MyCount"].Rows[0]["MaxCount"] = (int)Application["user_sessions"];rn XmlObject.XmlNodeReplace(xmlPath, "MyCount/MaxCount", Application["user_sessions"].ToString());rn rn rn if(DateTime.Now.Day==Convert.ToInt32(Application["dateTime"]))rn //如果系统日期(天数,服务器上的) 等于Application["dateTime"]里面的值,则Application["day_count"]变量累加1.rn rn rn Application["day_count"]=(int)Application["day_count"]+1;rn rn else//如果不等于则把Application["day_count"]变量赋为1,Application["datetime"]赋为当天,依次类推rn rn Application["datetime"]=DateTime.Now.Day;rn Application["day_count"]=1;rn rn Application.UnLock();rn rn protected void Session_End(Object sender, EventArgs e)rn rn Application.Lock();rn Application["user_sessions"] = (int)Application["user_sessions"] - 1;rn //当用户离开站点的时候,减1 卸箱,装箱! Object=intrn Application.UnLock();rn 论坛

没有更多推荐了,返回首页