初遇python数据分析(1)
前言
python是一个脚本语言,它最大的特点是动态的逐行运行,在运行前.py文件会先生成一个字节码文件.pyc,再由虚拟机来逐行解释运行,把每一行字节码翻译成目标指令给CPU运行。
使用pytho进行数据分析,主要是因为python中有很多的功能强大的第三方库进行数据分析,这其中anaconda集成了进两百个科学计算库,使用这个集成库安装使用都更为方便,笔者使用的是anaconda1.7.2版本。(官网下载比较慢,还可以在清华大学镜像网站上面下载,国内的网站下载速度更快一些。(https://mirrors.tuna.tsinghua.edu.cn/))
基础知识
python的基本语法规范
python是强调严格缩进的语言,在其他 语言中如果强调花括号{}的作用的话,缩进就显得不那么重要了,python不是这样,它没有花括号,判断语句的所属范围就是使用 缩进来进行判断的。比如如下的示例代码:
//这是一个简单的画五角星的代码
from turtle import*
color('red','red')
begin_fill()
for i in range(5):
fd(200)
rt(144)
end_fill()
从上面的代码中,就可以看出来python和其他语言在编程风格上面的不同之处了。
再比如如下两段代码
a=100
if a>0:
print(a)
else:
print(-a)
print("a<=0")
a=100
if a>0:
print(a)
else:
print(-a)
print("a<=0")
以上两段代码因为代码缩进不同,输出结果完全不同。
基本数据类型和变量
内置数据类型 | 种类 | |
---|---|---|
基本数据类型 | 数值类型 | 整数类型(Integer)浮点数(float)复数(conplex) |
布尔型(bool) | ||
字符串类型(string) | ||
复合数据类型 | 列表(List)元组(tuple)字典(dict)集合(set) |
这里的几种基本数据类型比较简单,和数学中的数据类型区别不大。在python中可以通过type()的方法获取对象的数据类型。
数据的运算这里挑出以下三种典型的简单介绍:
/:精确的除法,如
>>>10/3
>3.3333333
//:地板除,即在数轴的反方向取反
%:取余除,即求余数
注意nono
Nono不能理解为0,只是空值,即占位无值。
字符串数值类型要使用单引号或双引号表示:
>>>print("Hello Python")
>Hello Python
字符串中的转义字符和C一样使用\表示
##python的格式化输出
和C语言一样,格式化输出的实现通过%实现,常用的有以下几种:
%s表示字符串替换,
%d表示整数替换,
%f表示浮点数替换,
%x表示十六进制整数替换
格式化输出非常复杂,后面会进行详细描述
字符编码:Unicode
优点:将所有语言都统一到一套编码中,不会再有乱码产生
缺点:ASCII编码是一个字节,Unicode是两个字节编码,导致需要一倍以上的存储空间
UTF-8编码:可变长编码
弥补了Unicode编码的缺点,可变长,编码字符大小1-6个字符不等。
python3以上的版本使用Unicode编码
变量
程序中,变量不仅代表数字,还代表数据类型。变量名必须是大小写英文、数字和下划线的组合,且不能用数字开头。
python是动态语言
python中的变量是可以被反复赋值,而且可以是不同类型的变量。这种本身类型不固定的语言称之为动态语言。这里与之对应的是Java,为静态语言。
##复合数据类型
序列:列表(list),元组(tuple)
字典(dict)
集合(set)
序列常用的操作包括:索引,切片,链接,重复等,还提供了诸如求序列的元素个数,最大值,最小值等操作。
列表中还有一些专用操作:
lis的特点:
1.有序,占用连续的内存空间
2.可变
3.可异构
用法:
#创建方法
classmates = ['Michael', 'Bob', 'Tracy']
#索引方法 #注意是从0开始进行索引的
classmates[1]
元组(tuple)的一些特点
1.tuple一旦初始化后,便不能修改
#创建方法
classmates = ('Michael', 'Bob', 'Tracy')
2.获取元素方法和list相同
#索引方法
classmates[1]
==字典类型(dict)使用了键-值(key-value)的方式存储,具有极快的查找方式
#创建方法
d={'a':21,'c':22,'f':23}
#查找方法
d['a']
21
集合set
特点:没有重复元素,创建方法与dict相同,但只有key,没有value
##条件判断和循环
上面说了python是强调缩进的语言,在下面的语句中,可以看到其与C语言等其他语言的区别
age=20
if age>=18:
print('your age is',age)
print('adult')
else:
print('teenager')
注意上方的:冒号非常重要
第一次认真写博客,希望各位大佬多多指正!!!!谢谢各位