python数据分析

python基础,一篇到底

(1) 数字

1.数据类型
a=123 #整数
b=1224.56 #浮点数
c=True #布尔型
d=5+4j #复数
2.数字的删除
del a
print(a)
# name 'a' is not defined
3.数字类型转换
b=1224.56
print(int(b))	#1224
4.数学运算

加(+) 减(-) 乘(*) 除(/ 返回浮点数 // 返回整数) 取余(%) 乘方(**)

(2) 字符串

1.转义字符
2.字符串提取,切片,拼接,是否包含,格式化
var='python'
print(var[0]) #p
print(var[1:3]) #yt
print(var+'123') #python123
print('th' in var) #True
print("我是%s班的学生"%('五'))

(3) 数据结构组成

1.序列类型

字符串(String) ,列表(list), 元组(tuple) ,unicode字符串, buffer对象,xrange对象

2.映射类型

映射类型是储存了对象与对象之间的映射关系的数据结构类型,python中唯一的映射类型的数据类型是字典

3.集合类型

可变集合(set),不可变集合(frozenset)。集合中的元素不能重复出现且相对唯一,并且元素不存在排列数序

(4) 可变数据类型与不可变数据类型

可变不可变
列表(list),字典(dict)字符串(String) ,元组(tuple)

(5) 列表

1.创建列表
list = [1,2,3,4,5,6,7,8,9]
2.列表索引
print(list[0])#1
3.列表的提取与切片
print(list[3:6])#[4,5,6]
4.列表常用函数与方法
添加

append

list = ['张三','李四','王五']
list.append('赵六')
print(list) #['张三', '李四', '王五', '赵六']

extend

list1 = [1,2,3,4]
list.extend(list1)
print(list)#['张三', '李四', '王五', '赵六', 1, 2, 3, 4]

insert

list.insert(4,'刘七')
print(list)#['张三', '李四', '王五', '赵六', '刘七', 1, 2, 3, 4]
删除

del

del list[0]
print(list)#['李四', '王五', '赵六', '刘七', 1, 2, 3, 4]

pop

list.pop(-1)
print(list)#['李四', '王五', '赵六', '刘七', 1, 2, 3]

remove

list.remove('李四')
print(list)#['王五', '赵六', '刘七', 1, 2, 3]
修改
list[3]=10
print(list)#['王五', '赵六', '刘七', 10, 2, 3]
复制
list_copy=list.copy()
print(list_copy)#['王五', '赵六', '刘七', 10, 2, 3]
列表元素位置查询
print('张三' in list)#False

5.列表其他常用操作

方法与函数作用实例
+合并列表[1,2]+[3,4] — [1, 2, 3, 4]
*重复合并一个列表多次[‘a’,‘b’]*2 — [‘a’, ‘b’, ‘a’, ‘b’]
len获得列表长度len([1,2,3,4]) — 4
max获得最大值max([1,2,3,4]) — 4
min获得最小值min([1,2,3,4]) — 1
list.count()统计某元素在列表中出现的次数[1,2,1].count(1) — 2
list.reverse()反转列表中的元素list = [1,2,3] list.reverse() print(list) #[3, 2, 1]
list.sort()对原列表进行排序,如果reverse=True是降序,反之是升序list = [2,1,9,3] list.sort() print(list) list.sort(reverse=True) print(list)
list.clear()清空列表list.clear() — []

(6)元组

1.创建元组
tuple = (1,2,3,4,5,6,7,8,9)
2.元组索引
print(tuple[0])#1
3.元组的提取与切片
print(tuple[3:6:1])#(4, 5, 6)
4.元组解包
tuple = (1,2,3,4)
a,b,c,d=tuple #解包
print(a,b,c,d)#1 2 3 4
constant =tuple((('r',10),3.1416))
(x,y),z=constant
print(x,y,z) # r 10 3.1416

python中有多重赋值语句,由于创建元组时可以省略圆括号,因此,元组解包可以看成多重赋值语句

t='a','b'
print(type(t)) #<class 'tuple'>
a,b,c,d=1,2,3,4 #多重赋值语句
print(a,b,c,d)
5.列表常用函数与方法
方法与函数作用实例
+合并元组(1,2)+(3,4) — (1, 2, 3, 4)
*重复合并一个元组多次(‘a’,‘b’)*2 — (‘a’, ‘b’, ‘a’, ‘b’)
in判断是否存在,存在为True,否则为Flase‘a’ in (2,‘a’,‘b’) — True
len获得元组长度len((1,2,3,4) — 4
max获得最大值max((1,2,3,4) — 4
min获得最小值min((1,2,3,4)) — 1
tuple.count()统计某元素在元组中出现的次数(1,2,1).count(1) — 2
tuple.index()获取某元素在元组中第一次出现的位置索引t=(1,2,‘a’,2) t.index(2) — 1
sorted()创建对元组排序后的列表t=(2,1,9,3) sorted(t) — [1,2,3,9]
del删除整个元组t=(2,1,9,3) del t — NameError: name ‘t’ is not defined

(7)字典

1.创建字典

字典使用{}创建,里面是一系列的键值对,其中键名不可以重复,如果重复会被后面的值覆盖

dict = {'1':"空调",'2':"电视",'1':"洗衣机"}
print(dict) #{'1': '洗衣机', '2': '电视'}

还可以使用dict()创建字典,里面传入列表或元组,转换为字典类型

dict1 = dict(([1,"空调"],[2,'电视']))#元组
dict2 = dict([[1,"空调"],[2,'电视']])#列表
print(dict1) #{1: '空调', 2: '电视'}
print(dict2) #{1: '空调', 2: '电视'}

最后还可以直接向dict中传入键值

dict = dict(name="zhangsan",age=18,gender="male")
print(dict) #{'name': 'zhangsan', 'age': 18, 'gender': 'male'}
2.获取字典元素
通过键名获取
dict = dict(name="zhangsan",age=18,gender="male")
print(dict['name']) #zhangsan
通过get()方法传键名获取
dict = dict(name="zhangsan",age=18,gender="male")
print(dict.get('name'))#zhangsan
print(dict.get('zhangsan'))#None
print(dict.get('zhangsan',"没有该键"))#没有该键
3.字典常用函数和方法
添加字典元素
dict = dict(name="zhangsan", age=18, gender="male")
print(dict) #{'name': 'zhangsan', 'age': 18, 'gender': 'male'}
dict['class']='5'
print(dict) #{'name': 'zhangsan', 'age': 18, 'gender': 'male', 'class': '5'}
删除字典元素
student = dict((['name','zhangsan'],('age',20),'xy',('d',{1:2})))
print(student)  #{'name': 'zhangsan', 'age': 20, 'x': 'y', 'd': {1: 2}}
del student['age']  #删除键为age的值
print(student) #{'name': 'zhangsan', 'x': 'y', 'd': {1: 2}}
student.pop('name') #删除键为name的值
print(student)	#{'x': 'y', 'd': {1: 2}}
student.clear() #清空
print(student)	#{}
修改元素
dict = {'name': 'zhangsan', 'age': 18}
print(dict)	#{'name': 'zhangsan', 'age': 18}
dict['name']='lisi'
print(dict)	#{'name': 'lisi', 'age': 18}
获取和查询所有字典信息
dict = {'name': 'zhangsan', 'age': 18, 'gender': 'male'}
print("所有键: ",dict.keys())
print("所有值: ",dict.values())
print("所有键值对: ",dict.items())
print("转换为列表: ",list(dict.values()))
if 'name'in dict:
    print(dict['name'])

OUT:

所有键:  dict_keys(['name', 'age', 'gender'])
所有值:  dict_values(['zhangsan', 18, 'male'])
所有键值对:  dict_items([('name', 'zhangsan'), ('age', 18), ('gender', 'male')])
转换为列表:  ['zhangsan', 18, 'male']
zhangsan

(8)集合

1.创建集合

创建集合的方法是{}或set(),{}中可以是数字,字符串,元祖,()中是元组或列表

2.集合的运算

差集:s1.symmetric_difference(s2) 或 s1^s2

s1 = set('hi')
s2 = set('python')
print(s1^s2)	#{'y', 't', 'p', 'o', 'i', 'n'}

交集:s1.intersection 或 s1 & s2

s1 = set('hi')
s2 = set('python')
print(s1&s2)	#{'h'}

并集:s1.union(s2) 或 s1|s2

s1 = set('hi')
s2 = set('python')
print(s1|s2)	#{'i', 'p', 'o', 'n', 'h', 'y', 't'}

判断s1是不是s2的子集:s1.issubset(s2) 或 s1 <= s2

s1 = set('h')
s2 = set('python')
print(s1 <= s2)	#True

判断s1是不是s2的父集:s1.issuperset(s2) 或 s1>=s2

s1 = set('h')
s2 = set('python')
print(s1 <= s2)	#Flase

s1中不存在s2的元素:s1.difference(s2) 或 s1- s2

s1 = set('h')
s2 = set('python')
print(s1 - s2)	#set() 以s1看只有一个元素h,在s2中存在,没有不存在的元素,所以返回空
print(s2 - s1)	#{'p', 't', 'y', 'o', 'n'}  以s2看,p在s1没有,结果里有p,以此类推,h存在所以结果里没有h
3.集合的常用函数与方法
函数和方法作用实例
add()添加一个元素s1 = {‘a’,‘b’} s1.add(‘c’) — {‘a’, ‘c’, ‘b’}
update()合并两个集合s1 = {‘a’,‘b’} s2 = {‘c’,‘d’} s1.update(s2) — {‘c’, ‘a’, ‘d’, ‘b’}
pop()删除一个元素(当集合对象是空是,返回错误信息)s1 = {‘a’,‘b’} s1.pop() — {‘a’}
remove()删除指定的一个元素s1 = {‘a’,‘b’} s1.remove(‘a’) — {‘b’}
clear()清空集合s1 = {‘a’,‘b’} s1.clear() — set()
in查询元素是否存在集合中s1 = {‘a’,‘b’} print(‘a’ in s1) — True
len()获取元素个数s1 = {‘a’,‘b’} print(len(s1)) — 2
copy()赋值集合

(9)流程控制语句

1.if条件语句
grade = float(input("Enter a grade: ")) #85
if grade>80:
    print("优秀")
elif grade>60:
    print("良好")
else:
    print("不及格")

OUT:优秀

2.while循环控制语句

首先判断while后面表达式,如果条件为真(true),则执行循环体内的代码块;如果条件为假(false),则跳过循环体,直接执行 while 循环之后的代码。

sum = 0
i = 1
while i <= 10:
    sum += i
    i += 1
print(sum)  # 输出 55
3.for循环语句
str = 'hello'
for i in str:
    print(i,end=" ") #h e l l o 
4.range()函数的作用

range()函数是python的内置函数,返回连续相加的整数,生成一个列表对象,通常在for循环中作为索引。

range()中有三个参数,起始值,结束值(不包含),步长(可选,默认为1)

for i in range(5):
    print(i,end=" ")
#0 1 2 3 4
for j in range(1,10,2):
    print(j,end=" ")
#1 3 5 7 9
str = "hello"
for i in range(5):
    print(str[i],end=" ")
#h e l l o 
5.break,continue,pass语句

break:终止循环语句

str = "python"
for i in str:
    if(i.__eq__('o')):
        break
    print(i,end=' ')
 #p y t h 

continue:跳过当前语句,执行下一次循环

str = "python"
for i in str:
    if(i.__eq__('o')):
        continue
    print(i,end=' ')
# p y t h  n 

pass:占位语句

str = "python"
for i in str:
    if(i=='p'):
        pass
        print("找到了")
    print(i,end=' ')
# 找到了
# p y t h o n 

(10)函数

1.自定义函数
def fun_sum():
    sum = 0
    for i in range(11):
        sum += i
    print(sum)

fun_sum()  # 55
2.设置函数参数

默认参数

def fun_sum(n):
    sum = 0
    for i in range(n + 1):
        sum += i
    print(sum)

fun_sum(10)  # 55

任意数量的位置可变参数

def fun(x, *args):
    print("x=", x)
    print("args=", args)

fun(1, 2, 'abc')
# x= 1  args= (2, 'abc')
fun(3)
# x= 3 args= ()

任意数量的关键字可变参数

def fun(x, *args, **keys):
    print("x=", x)
    print("args=", args)
    print("keys=", keys)

fun(1, 2, 'abc', 'def', a=1, b=2)
# x= 1
# args= (2, 'abc', 'def')
# keys= {'a': 1, 'b': 2}
3.返回函数值
def fun_sum():
    sum = 0
    for i in range(11):
        sum += i
    return sum

print("结果:",fun_sum()) #55
4.函数嵌套
def fun_average(n):
    def fun_sum():
        sum = 0
        for i in list:
            sum += i
        return sum
    return fun_sum()/n

list = [67,45,66,78,89,90,56]
print("%.2f"%fun_average(len(list)))
5.匿名函数

lamba 参数1[,参数2,参数3]:表达式

sum = lambda a,b: a+b
print(sum(10,20))

补充:

打印方法
var = 'python'
print(var)	#python
var = 'python'
print(f'{var}')	#python
var = 'python'
print("I love %s"%var) # I love python
num = 3.1415
print("%.2f"%num)	#3.14
for i in range(1,5):
    print(i,end=" ") #1 2 3 4 
var1 ="I"
var2 = 'python'
print("{} love {}".format(var1,var2)) # I love python
pycharm实用快捷键:

向上/下移动此行:ctrl + shift + ↑/↓

快速复制此行:ctrl + d

格式化代码:ctrl + alt + L

快速打印:假如你想打印一个值,可能是变量,也可能是返回值的函数,一般打印是print(a)result = fun(n) print(result)

其实只需要在fun()后面.(点)print然后回车

image-20240620234948432 image-20240620235106481
  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值