程序员们!pandas想分别算正负收益率怎么算呀?

在初学编程的过程中,你会有各种各样的疑惑,你会遇到各种各样的坑。这时,前人的经验尤为重要,下面是小编为您整理的关于python程序员学习路线,希望对你有所帮助。


python程序员学习路线

作为以为小白,在学习Python的时候,必然会走一定的弯路,有人在弯路上走丢了,有人走出了弯路。我就是属于还未走出弯路的同学,所以我想谈谈我的Python学习路线。

我进入这个坑是因为这个最近几年比较火,想必大家都知道吧,我开始学习Python时,先学习的是linux基本命令,作为小白,在装linux时出现许多问题。

其次,学习linux基本操作,文件和目录,文件属性修改命令,查找与检索命令以及vim的使用,系统自带了Python2.6,之后我就安装了Python2.7,正式进入Python学习,开始学习比较盲目,我就找了一些Python学习路线图。

学习完两个路线图基本就能入门。

可是作为小白,对于这两个教程还是有很多地方感到疑惑。

接下来的时间我们一起学习Python基础吧。

(1)Python3入门,数据类型,字符串

(2)判断/循环语句,函数,命名空间,作用域

(3)类与对象,继承,多态

(5)文件与异常,数据处理简介

(1)Python常见第三方库与网络编程

(3)邮箱爬虫,文件遍历,金融数据爬虫,多线程爬虫

python全栈工程师前端

(5) 网页界面设计实战

python全栈工程师后端

python全栈工程师后端高级

(9) 用户和用户组管理

Linux运维自动化开发

(3) Linux运维报警安全审计开发

(4) Linux业务质量报表工具开发

(1) 机器学习基础知识简介

(4) 逻辑斯蒂回归算法

(6) 朴素贝叶斯算法

Python数据分析学习路径

Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。由于他简单、易学、免费开源、可移植性、可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语言近年来的流行趋势,Python受欢迎程度扶摇直上。

由于Python拥有非常丰富的库,使其在数据分析领域也有广泛的应用。由于Python本身有十分广泛的应用,本期Python数据分析路线图主要从数据分析从业人员的角度讲述Python数据分析路线图。整个路线图计划分成16周,120天左右。主要学习内容包括四大部分:


1)Python工作环境及基础语法知识了解(包括正则表达式相关知识学习);

2)数据采集相关知识(python爬虫相关知识);

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。

在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万

。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。

结合自身的学习经验以及与很多自学者的沟通了解,我们整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。

编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习。编程的世界浩瀚无边,所以请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符。收拾好自己的心态,向着编程的世界出发。

第一步至关重要,是关系到初学者从入门到精通还是从入门到放弃。选一条合适的入门道路,并坚持下去。

很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,语法变动也并不多。选择任何一个入手,都没有大影响。

如果你仍然无法抉择,那请选择 Python3,毕竟这是未来的趋势,参考知乎回答 Python2 还是 Python3?

同样,推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好,并且还是完全免费的!

idle: Python 自带编辑器。如果只是想尽快写出几行代码来,这是最简便的方式。

为了让初学者集中更多的精力在写代码这件事情上,所以我们就不推荐 vim 和 Emacs 了。

1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:

3、每一列数据的格式:

7、查看某一列的唯一值:

10、查看前10行数据、后10行数据:

1、用数字0填充空值:

2、使用列prince的均值对NA进行填充:

3、清楚city字段的字符空格:

7、删除后出现的重复值:

8 、删除先出现的重复值:

objs︰ 一个序列或系列、 综合或面板对象的映射。如果字典中传递,将作为键参数,使用排序的键,除非它传递,在这种情况下的值将会选择

(见下文)。任何没有任何反对将默默地被丢弃,除非他们都没有在这种情况下将引发 ValueError。

axis: {0,1,…},默认值为 0。要连接沿轴。

join: {‘内部’、 ‘外’},默认 ‘外’。如何处理其他 axis(es) 上的索引。联盟内、 外的交叉口。

ignore_index︰ 布尔值、 默认 False。如果为 True,则不要串联轴上使用的索引值。由此产生的轴将标记

0,…,n-1。这是有用的如果你串联串联轴没有有意义的索引信息的对象。请注意在联接中仍然受到尊重的其他轴上的索引值。

join_axes︰ 索引对象的列表。具体的指标,用于其他 n-1 轴而不是执行内部/外部设置逻辑。 keys︰

序列,默认为无。构建分层索引使用通过的键作为最外面的级别。如果多个级别获得通过,应包含元组。

levels︰ 列表的序列,默认为无。具体水平 (唯一值) 用于构建多重。否则,他们将推断钥匙。

names︰ 列表中,默认为无。由此产生的分层索引中的级的名称。

verify_integrity︰ 布尔值、 默认 False。检查是否新的串联的轴包含重复项。这可以是相对于实际数据串联非常昂贵。

副本︰ 布尔值、 默认 True。如果为 False,请不要,不必要地复制数据。

3、按照特定列的值排序:

6、对复合多个条件的数据进行分组标记

7、对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size

8、将完成分裂后的数据表和原df_inner数据表进行匹配

主要用到的三个函数:loc,iloc和ix,loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。

1、按索引提取单行的数值

2、按索引提取区域行数值

5、提取4日之前的所有数据

6、使用iloc按位置区域提取数据

df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。

7、适应iloc按位置单独提起数据

8、使用ix按索引标签和位置混合提取数据

9、判断city列的值是否为北京

10、判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来

11、提取前三个字符,并生成数据表

使用与、或、非三个条件配合大于、小于、等于对数据进行筛选,并进行计数和求和。

1、使用“与”进行筛选

2、使用“或”进行筛选

3、使用“非”条件进行筛选

4、对筛选后的数据按city列进行计数

5、使用query函数进行筛选

6、对筛选后的结果按prince进行求和

1、对所有的列进行计数汇总

2、按城市对id字段进行计数

3、对两个字段进行汇总计数

4、对city字段进行汇总,并分别计算prince的合计和均值

数据采样,计算标准差,协方差和相关系数

5、 数据表描述性统计

7、计算两个字段间的协方差

8、数据表中所有字段间的协方差

9、两个字段的相关性分析

10、数据表的相关性分析

分析后的数据可以输出为xlsx格式和csv格式


想要看更加舒服的排版、更加准时的推送
关注公众号“不太灵光的程序员”
干货推送,微信随时解答你的疑问 ????????????

基于鸢尾花(iris)数据集在多分类上进行训练和预测

1、数据可视化和特征分析


其他部分和二分类训练方式一致


对于多类分类器/分类算法,评价指标主要有accuracy, [宏平均和微平均,F-score]。


  • None:返回每个班级的分数。否则,这将确定对数据执行的平均类型。

  • micro:通过计算真阳性,假阴性和误报来全球计算指标。也就是把所有的类放在一起算(具体到precision),然后把所有类的TP加和,再除以所有类的TP和FN的加和。因此micro方法下的precision和recall都等于accuracy。

  • macro:计算每个标签的指标,找出它们的未加权平均值。这不会考虑标签不平衡。也就是先分别求出每个类的precision再求其算术平均。

  • weighted:计算每个标签的指标,并找到它们的平均值,按支持加权(每个标签的真实实例数)。这会改变“宏观”以解决标签不平衡问题; 它可能导致F分数不在精确度和召回之间。

  • samples:计算每个实例的指标,并找出它们的平均值(仅对于不同的多标记分类有意义 accuracy_score)。

3、利用混淆矩阵对于结果进行可视化


从上面的混淆矩阵图中我们可以看出:

‘versicolor’(1)的样本有8个被正确预测为了’versicolor’(1),有2个样本被错误预测为了’virginica’(2);

‘virginica’(2)的样本有8个被正确预测为了’virginica’(2),有2个样本被错误预测为了’versicolor’(1)。

通过结果我们可以发现,其在三分类的结果的预测准确度上有所下降,其在测试集上的准确度为: 86.67%。


这是由于’versicolor’(1)和 ‘virginica’(2)这两个类别的特征,我们从可视化的时候也可以发现,其特征的边界具有一定的模糊性(边界类别混杂,没有明显区分边界),所有在这两类的预测上出现了一定的错误。

我要回帖

更多关于 pandas求众数 的文章

 

随机推荐