Python数据分析(回顾python基础)

Python数据分析

1.基础知识

1.1 Python基本语法

Python使用<变量名>=<表达式>的方式对变量进行赋值

(1)数据类型

字符串
字符串的定义是使用引号来定义,单引号与双引号是等价的
三引号用来输入包含多行文字的字符串

[17]:

s='''hello
my
world'''
print(s)
hello
my
world
字符串的加法

[18]:

a="hello "
b="world"
a+b

[18]:

'hello world'
字符串的索引

[20]:

c="hello world"
c[0]+c[5]+c[6]

[20]:

'h w'
字符串的分割 split

[21]:

d=c
d.split()  ##括号内参数为分割符,不写默认使用空格

[21]:

['hello', 'world']

[22]:

e='hello,world'
e.split(',') ##使用逗号,进行分割

[22]:

['hello', 'world']
查看字符串的长度 len()

[23]:

len(e)

[23]:

11
整数
浮点数
布尔值

[25]:

a=True
a

[25]:

True

[26]:

a=1>2
a

[26]:

False
空值

[27]:

a=''
a

[27]:

''

[29]:

a=None
a

(2)运算符

运算符:http:www.runoob.com/phthon/python-operators.html#ysf4

基本运算

**:幂运算
/:除以
%:取模-返回余数
//:取整除-返回商的整数部分(向下取整)

比较运算

==,!=,<>,>,<,>=,<=

赋值运算

=,+=,-=,*=,/=,%=,**=,//=

逻辑运算

&,|,not

[34]:

a=not True
a

[34]:

False

(3)数据结构

列表 list

Python用 [] 来生成列表,也可以用 list 关键字

[41]:

c=[1,2.3,'哈哈']
c

[41]:

[1, 2.3, '哈哈']

[42]:

list('abcde')

[42]:

['a', 'b', 'c', 'd', 'e']
列表操作

列表常用函数:https://www.cnblogs.com/smelond/p/7857701.html

[43]:

##列表相加
a=[1,2,3]
b=['张三','李四']
a+b

[43]:

[1, 2, 3, '张三', '李四']

[45]:

##列表索引
c=[1, 2, 3, '张三', '李四']
c[0]

[45]:

1

[52]:

##列表新增元素
d=c
d.append('王五')
d

[52]:

[1, 2, 3, 1.001, '张三', '李四', '王五']

[49]:

##列表插入   insert(位置,元素)
e=c
e.insert(3,1.001)
e

[49]:

[1, 2, 3, 1.001, '张三', '李四', '王五', '王五', '王五']

[53]:

##列表元素删除  pop(位置)   括号内为空表示删除末尾元素
f=e
f.pop(3)
f

[53]:

[1, 2, 3, '张三', '李四', '王五']

[57]:

##列表切片  [开始位置,终止位置] 左闭右开
g=f
g[1:4]

[57]:

[2, 3, '张三']

[58]:

g[:4]

[58]:

[1, 2, 3, '张三']

[59]:

g[:]

[59]:

[1, 2, 3, '张三', '李四', '王五']

[61]:

g[1:-1]

[61]:

[2, 3, '张三', '李四']

[62]:

g[0:5:2]  ##从索引0开始取,取到索引5之前,每次提取第2个数

[62]:

[1, 3, '李四']

[64]:

g[5:0:-2]  ##倒序

[64]:

['王五', '张三', 2]

[5]:

##列表元素判断  in / not in
h=[1, 2, 3, '张三', '李四']
4 not in h

[5]:

True
元组 tuple

另一种有序列表叫元组,用 () 来表示。tuple和list非常类似,但是tuple一旦初始化就不能修改

[65]:

a=(1,2,3,4,5)
a.pop()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-65-d047ecce1dea> in <module>
      1 a=(1,2,3,4,5)
----> 2 a.pop()

AttributeError: 'tuple' object has no attribute 'pop'
字典 dict

用 {key:value} 的形式来生成字典
字典里面的数据可以是任何数据类型,也可以是字典

[66]:

mv={'name':'肖申克的救赎',
    'actor':'罗宾斯',
    'score':9.6,
    'country':'USA'}
mv

[66]:

{'name': '肖申克的救赎', 'actor': '罗宾斯', 'score': 9.6, 'country': 'USA'}

[67]:

mv['actor']

[67]:

'罗宾斯'

[69]:

mv.keys()

[69]:

dict_keys(['name', 'actor', 'score', 'country'])

[70]:

mv.values()

[70]:

dict_values(['肖申克的救赎', '罗宾斯', 9.6, 'USA'])

[71]:

mv.items()

[71]:

dict_items([('name', '肖申克的救赎'), ('actor', '罗宾斯'), ('score', 9.6), ('country', 'USA')])

[72]:

mv['name']='泰坦尼克号'
mv['actor']='小李子'
mv.items()

[72]:

dict_items([('name', '泰坦尼克号'), ('actor', '小李子'), ('score', 9.6), ('country', 'USA')])

[73]:

mv['director']='德拉邦特'
mv

[73]:

{'name': '泰坦尼克号',
 'actor': '小李子',
 'score': 9.6,
 'country': 'USA',
 'director': '德拉邦特'}

[74]:

mv.pop('country')
mv

[74]:

{'name': '泰坦尼克号', 'actor': '小李子', 'score': 9.6, 'director': '德拉邦特'}
集合 set

用 {} 来生成集合,集合中不含有相同的元素

[76]:

a={2,3,4,5,2,3}
a

[76]:

{2, 3, 4, 5}

[77]:

len(a)

[77]:

4

[78]:

a.add(1)
a

[78]:

{1, 2, 3, 4, 5}

[79]:

b={2,3,4,7,8}
a&b ##a和b交集

[79]:

{2, 3, 4}

[80]:

a|b ##a和b并集

[80]:

{1, 2, 3, 4, 5, 7, 8}

[81]:

a-b ##a和b差集

[81]:

{1, 5}
可变对象和不可变对象

可变对象可以对其进行插入,删除等操作,不可变对象不可以对其进行有改变的操作。Python中列表、字典、集合都是可变的。元组、字符串、整型等都是不可变的。

(4)类型转换

[83]:

int(3.14)

[83]:

3

[84]:

float(2)

[84]:

2.0

[85]:

s='abcd'
type(s)

[85]:

str

[86]:

list(s)

[86]:

['a', 'b', 'c', 'd']

(5)判断和循环

判断

[87]:

2==2

[87]:

True

[88]:

3=='a'

[88]:

False

[89]:

'a'=='A'

[89]:

False

[93]:

if 2<1:
    print("yes")
else:
    print('no')
no

[104]:

for i in range(5):
    if i==3:
        print(i,'等于3')
    elif i>3:
        print(i,'大于3') 
    else:
        print(str(i)+'小于3')
        
        
        
0小于3
1小于3
2小于3
3 等于3
4 大于3
循环

[107]:

for i in [1,2,3,4,5]:
    print(i)
    
    
    
1
2
3
4
5

[108]:

i=1
while i<7:
    print(i)
    i+=1
    
    
    
    
1
2
3
4
5
6

(6)列表生成式

列表生成式及List Comprehensions,是Python内置的非常简答却强大的可以用来创建list的生成式

[110]:

list(range(1,11))

[110]:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[113]:

[x**2 for x in range(1,10)]

[113]:

[1, 4, 9, 16, 25, 36, 49, 64, 81]

[114]:

[i for i in range(1,100) if i%10==0]

[114]:

[10, 20, 30, 40, 50, 60, 70, 80, 90]

[115]:

[str(i) for i in range(5)]

[115]:

['0', '1', '2', '3', '4']

[116]:

[int(x) for x in list('123456')]

[116]:

[1, 2, 3, 4, 5, 6]

1.2 Python函数

(1)内置函数

内置函数:https://www.runoob.com/python/python-built-in-functions.html

[117]:

##绝对值
abs(-1)

[117]:

1

[118]:

##最大值
a=[2,3,5,7,23,-45,43]
max(a)

[118]:

43

[119]:

##最小值
min(a)

[119]:

-45

[120]:

##求和
sum(a)

[120]:

38

(2)自定义函数

Python函数:https://www.runoob.com/python/python-functions.html

函数function,通常接受输入参数,并有返回值。
它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。

函数通常有几个特性:
1、使用def关键词来定义一个函数
2、def后面是函数的名称,括号中是函数的参数,不同的参数用逗号,隔开,def func(): 的形式是必须要有的,参数可以为空
3、使用缩进来划分函数的内容
4、return返回特定的值,如果省略,返回None

[121]:

def add_two(x,y):
    return x+y
add_two(1,2)

[121]:

3

使用函数时,只需要将参数换成特定的值传给函数
Python并没有限定参数的类型,因此可以使用不同的参数类型
如果传入的两个参数不能做运算,或者传入的参数的数目与实际不符,python都会报错

可以在函数定义的时候给参数设定默认值

[122]:

def func1(x,a=1,b=2,c=3):
    return x*a+x*b+x*c
func1(5)

[122]:

30

一个函数可以返回多个返回值(元组)

[123]:

def func2(x):
    return x**2,x**3
func2(2)

[123]:

(4, 8)

你可能感兴趣的:(Python,python,数据分析,数据挖掘)