暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

大话Python第1期——Python基础入门

荷兰心理统计联盟 2020-07-04
196


在社会科学领域,无论是学术研究还是实践工作,数据分析都是必备技能之一,在以往的推送中,我们介绍了很多R语言相关的知识,R由于其强大的可视化功能以及丰富的package资源受到人们的青睐。而另外一种编程语言同样值得关注,那就是Python,相较于R,Python更注重代码的可读性和运行效率,应用领域更加广泛,且同样拥有丰富的软件库。因此,我们开启了一个新的专栏——大话Python,由乌特勒支大学在读博士生纪天昶负责。今后将逐渐为大家推送Python的相关知识,也欢迎感兴趣的小伙伴们加入我们,共同学习~



关于 Python 的介绍


关于 Python 的优势,我觉得可以用
简单、易学、免费开源来概括。Python 是一种代表简单主义思想的语言。浏览大部分的规范的 Python 程序就感觉像是在读英语,尽管此英语非彼英语,且多了些限制,但是归根结底这也是 Python 的最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。Python 是 FLOSS(自由/开放源码软件)之一。使用者可以无限制的阅读源代码或是做改动,并且把它用于新的自由软件中。FLOSS 是基于一个团体分享知识的概念。也就是说,python 是由世界各地的优秀的使用者们不断的推进且发展着的。

(Python 的设计哲学)

为何说 Python 是简单易学的语言,举个简单的例子,比如要完成某个功能,如果用 Java 需要 100 行代码,但用 Python 可能只需要 20 行代码,这是 Python 具有巨大吸引力的一大特点,也是证明其自身高效的一大有力举证。

如果大家仍然觉得 Python 的简单易学没有说服力的话,那我就再给大家举一个更加生动形象的例子来论证。

如上图所示,如果按照程序员所说,以开发者的发际线来衡量一门计算机语言的难易程度的话,Python 之父 Guido van Rossum 已经足以证明 Python 的设计初衷了。

言归正传,接下来让我们进入关于 Python 的正式认知和了解阶段。


Python应用


关于应用 Python,常用于以下四类,但却不仅仅局限于以下四类:

· 数据分析
Python 数据分析应用主要基于三个工具包 Numpy, Pandas, Matplotlib。这三者涵盖了 Python 的大部分数据统计部分。根据文后链接可查看Python的基础语法以及基础数据统计。

· 服务器软件(网络爬虫)
Python 对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。
第三方库 Twisted 支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,因此十分的方便。

· 游戏设计与开发
大部分游戏使用 C++ 编写图形显示等高性能模块,而使用 Python 或者 Lua 编写游戏的逻辑、服务器。相较于 Python,Lua 的功能更简单、体积更小;而 Python 则支持更多的特性和数据类型。

· Web开发以及操作系统管理、服务器运维的自动化脚本


关于 Anaconda 和 Jupyter


Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等180多个科学包及其依赖项。因为 anaconda 自带 Jupyter 和 python3,非常方便,所以它也就顺理成章的成为了首选运行 Python 的首选环境。在此,并不是说 Pycharm 等IDE 不够优秀,而是因为,对于新手和初学者来说,Jupyter 可能会更加的 user-friendly 一些。

如何使用 Jupyter Notebook
点开 Anaconda 后,打开 Jupyter Notebook

点击新建,选择 Python 3

然后便会出现以下界面,这就表示成功的新建了一个Python 3,接下来便可以开始Python的运行了

如何在Jupyter上运行工具包

关于工具包的安装
!pip install --user 包名称
例:
!pip install --user numpy
!pip install --user pandas
!pip install --user matplotlib

! 一定要加上, user 可选择不加,但有时候不加 user 可能无法安装某些包。所以综合建议还是加上为好。将user改为upgrade可以将包升级为最新版本,如!pip install--upgrade numpy。此外,运行Python代码的开始指令为Shift+Enter,按下这两个键就表示向代码发送运行指令。

载入包
Import + 名称
如:import numpy as np,as后面为工具包的简称,如下


Python 基础操作


读取文件
使用 open 不需要任何包就可以读取文件,如
file = open('name of file','r')
print(file.read())

r 是 read 的缩写,表示读取的含义。
如果文件和 notebook 在同一个文件夹里则只需要写文件名就可以了,不需要
填上完整的路径。
file.read 表示读取这个文件内所有内容
print 表示产出结果
例如:
file = open('example.txt','r')
print(file.read())
,如下
如果改成.readlines,则会:

使用for循环打印每一个内容
file = open('data.txt','r')
i = 1
for line in file:
print('read line',i)
i = i+1
print(line)

在Python中写入一个文件
file = open('Python.txt','w')
file.write('Python is ')
file.write('the future')
file.close()
file = open('Python.txt','r')
for line in file:
print(line)

用 Pandas 读取文件
用 open 打开 txt 文件最方便,但是一旦有大量数据的话,pandas 会更加方便
import pandas as pd
df = pd.read_csv('example.csv',index_col = 0)
df

使用 pandas 能够还原数据在原始表格的样子, pandas 会给一个 index 而表格本身也有一个 index,如果想让数据美观且表格显示完美,建议加上 index_col = 0。

同理,读取 Excel 文件和 txt 文件也是一样,例如
df = pd.read_excel('data.xlsx')
df
df = pd.read_table('data.txt',sep = ',',index_col = 0)
df

sep = ','表示用‘,’隔开

读取复杂文本
df = pd.read_格式('文件名',sep = ',',skiprows = [ ],header = None,
names = ['','','','',''],
index_col = ['message'],nrows = 5)

解释:
skiprows 表示有几行跳过不读
header=None 表示每一个数据每一列的名字不存在与数据之中
names 表示可在‘’内命名
nrows=5 表示五个数五个数的读

相关网页资料
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html
这个网页里介绍了 pandas.read_table
如果不理解的函数时,这个网页里提出了很多相关的文档说明。





Python 实用学习网站及相关学习资源



1. 论坛学习资源
名称
url
简介
Py源中文大全
http://t.cn/Rq0C0ET
关于Python包和工具
PEP8 Py编码规范中文版
https://dwz.cn/30uIzs9W
关于代码规范
Py Code Examples
https://dwz.cn/dawtruYk
代码案例
Py Module of the Week
https://pymotw.com
Python标准库的使用
中文基础教程
http://t.cn/RLGeMuW
基础教学

2. 关于Python的一些实用学习网站

Python基础参考教程
https://www.runoob.com/python/python-intro.html

Scikit-learn Machine Learning in Python(高阶)
https://scikit-learn.org/stable/

Python官方网站(在此可以找到一切想要的正式学习资源包括下载)
https://www.python.org

3. 关于Python的建议书籍

《Python编程:从入门到实践》
《Python基础教程》
《流畅的Python》
《Python编程快速上手》
《Think Python》

如果你有什么好用的Python学习资料欢迎在文章底部留言分享~

作者:纪天昶

排版:郭治辰



往期精选:

荷兰心理统计联盟首张专辑-全部推文按主题划分

R语言和Jspsych编写本地和在线心理学实验和问卷教程

R-studio 中少为人知的秘技

APA第7版, 这些变化你了解吗?

英语论文写作:十个免费语法检测网站测评

免费搭建一个在线心理学实验的终极攻略

2020年JCR心理学&管理学期刊影响因子报告


欢迎点赞,在看,分享,三连击……

欢迎关注我们

一个专注于管理学及心理学学术研究的平台


文章转载自荷兰心理统计联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论