美文网首页
Python数据分析-基础知识整理

Python数据分析-基础知识整理

作者: fairy小倩 | 来源:发表于2020-05-06 10:20 被阅读0次

数据分析需掌握的基础知识

  • 1、Python 常用数据类型
  • 2、字符串常用模块、函数和操作
  • 3、日期
  • 4、Python基本数据结构
  • 5、控制流
  • 6、自定义函数

1、Python 常用数据类型

四种基本数据类型

数据类型 英文 举例
整数 Integer i=1
浮点数 Floats n=1.23
字符串 String str='你好'
布尔类型 Booleans b=True

type()函数

type函数可以查看变量的数据类型,示例如下:

i=1
n=1.23
str='你好'
b=True
print(type(i))
print(type(n))
print(type(str))
print(type(True))

输出结果为:


image.png

2、字符串常用模块、函数和操作

使用引号包含字符串

使用符号 输出效果
单个引号('') 输出引号内的字符
3个引号(''') 允许字符串跨多行,所见即所得格式

示例如下:

var1 = 'Hello World!'
var2='''hello 
world!
'''
print(var1)
print('----------')
print(var2)

输出结果为:


image.png

字符串转义字符反斜杠(\)

在字符串中使用特殊字符,用反斜杠转义

常用转义字符 描述
(在行末尾) 续行符
\ 反斜杠符号
' 单引号
" 双引号
\n 换行
\r 回车

字符串运算

a='Hello',b='World'

操作符 描述 示例
+ 字符串连接 a+b 输出 HelloWorld
* 重复输出字符串 a*2 输出 HelloHello
[] 通过索引获取字符串中的字符 a[1] 输出e
[:] 截取字符串的一部分,左闭右开 ,从0开始 a[1:4]输出 ell

示例如下:

a='Hello'
b='World'
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])

输出结果为:


image.png

字符串处理标准库String常用函数

函数 描述 方法
split 将一个字符串拆分成一个子字符串列表 split('str',num),使用str字符进行拆分,,截取num+1个子字符串
join 将序列中的元素以指定的字符连接生成新的字符串 str.join(seq),seq为要连接的元素序列,以指定字符串str作为分隔符,将seq中所有的元素合并为一个新的字符串
strip 截取字符串的空格或指定字符 lstrip()截取左侧字符,rstrip()截取右侧字符,strip()截取两侧字符。str.lstrip([chars])
replace 将字符串中的一个或一组字符替换为另一个或一组字符 str.replace(old,new,max),max替换不超过max次
lower 将字符串中的所有大写字符转换为小写字符 str.lower()
upper 将字符串中的所有小写字符转换为大写字符 str.upper()
capitalize 将字符串中的第一个字母变成大写 str.capitalize()
len 返回对象(字符、列表、元祖)等的长度或项目个数 len(s),s为对象

示例如下:

print('--------split示例---------')
a='My name is lily'
a1=a.split(' ',2)
print(a1)
print('\n')

print('--------join示例----------')
str = "-"
seq = ("a", "b", "c")
print (str.join( seq ))
print('\n')

print('--------strip示例----------')
str = "     Hello World!!!     "
print( str.lstrip() )
print( str.rstrip() )
print( str.strip() )
str = "88888888Hello World!!!8888888"
print( str.lstrip('8') )
print( str.rstrip('8') )
print( str.strip('8') )
print('\n')

print('--------replace示例----------')
str = "this is string example....wow!!!this is string example....wow!!!"
print (str.replace("is", "was",3))
print('\n')

print('--------lower,upper,capitalize,len示例----------')
str='hello World'
print('lower:'+str.lower())
print('upper:'+str.upper())
print('capitalize:'+str.capitalize())
print(len(str))

输出结果为:


image.png

3、日期

Python中包含了datetime模块,提供了非常强大的功能来处理日期和时间
常用对象:

对象 描述
date 包含年月日
datetime 包含年月日、时分秒

示例如下:

from datetime import date, time, datetime, timedelta
today = date.today()
print(today)

current_datetime = datetime.today()
print(current_datetime)

输出结果为:


image.png

获取年月日

函数 说明 示例
year 获取年份 [图片上传失败...(image-58fffb-1588731044908)]
month 获取月份 [图片上传失败...(image-ddf025-1588731044908)]
day 获取日期 [图片上传失败...(image-412ddf-1588731044908)]

timedelta函数

timedelta 本身代表一个时间差,可以在 date 或 datetime 类型间做时间差运算。
timedelta只存储days,seconds,microseconds三个值,其他类型会自动换算
示例如下:

a = datetime.now()
b = datetime.utcnow()
a - b

输出结果为:


image.png

对datetime对象进行时间加减操作:

now = datetime.now()
aDay = timedelta(days=1)
aWeek = timedelta(weeks=1)
aHour = timedelta(hours=1)
print(aDay)
print(aWeek)
print(aHour)
now_day = now + aDay
now_week= now + aWeek
now_hour= now + aHour
print(now_day )
print(now_week )
print(now_hour )

输入结果为:


image.png

strftime函数

用来格式化datetime对象:datetime.strftime('%')

常用格式符 说明
%Y 四个数字的年份 2020
%y 二个数字的年份 20
%m 返回月份,范围[0,12]
%d 当前时间是当前月的第几天
%a 星期的英文缩写,Mon
%A 星期的英文全拼,Monday
%b 月份的英文缩写,Jan
%B 月份的英文全拼,January
%H 以24小时制表示当前小时
%h 以12小时制表示当前小时
%M 返回分钟数 范围 [0,59]
%S 返回秒数 范围 [0,61]
%P 返回是上午还是下午 AM or PM
%c 返回datetime的字符串表示,如03/08/15 23:01:26
%x 日期的字符串表示 :03/08/15
%X 时间的字符串表示 :23:22:00

示例如下:

from datetime import datetime
dt = datetime.now()  
print ('时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( '%Y-%m-%d %H:%M:%S' ))

运行结果为:


image.png

4、Python基本数据结构

常见的四种数据结构对比表格:

操作 列表List 元组Tuple 字典Dictionary 集合set
简介 最常用的数据类型[x,y,z] 类似于列表但固定长度,不可变(x,y,z) 一种可变容器模型{key1:value1,key2:value2} 无序且元素唯一的容器{x,y,z}
用处 简单有序的,经常被修改的数据集合,具体元素值不经常被查询 一个不变的数据集合 经常被修改、被查询的键&值对 展现一个数据集合中出现的独特元素的集合
创建 new_list=[1,1,'string'] new_tup=(1,1,'string') new_dic={'key_a':1,'key_b':1,'key_c':'string'} new_set={1,1,'string'} print(new_set)-->{1,'string'}
重复元素 可重复 可重复 键不可以重复,值可以重复 不可重复
是否有序
值是否可变可变 不可变 可变 可变
取单个子集(数字索引从0开始) new_list[0] new_tup[0] new_dic{'key_a'} 不能被取子集
切片取子集 new_list[x:y] (从第x开始,取到第y个(不包含y)) 同list 不能被取切片子集 不能被取切片子集
修改元素 new_list[0]=0 不可修改 New_dic['key_c']=2 间接通过增加/删除元素完成
增加元素 append方法加到尾部:new_list.append('extra') ;insert方法插入到指定位置:new_list.insert(1,'extra') 不可变 new_dict['key_new']='extra'; update方法增加多个值:new_dict.update(key_d=3,key_e=4) add方法增加一个值:new_set.add(3) update方法增加多个值:new_set.update([3,4,5])
删除元素 pop方法删除特定位置的元素:new_list.pop(1); remove方法删除特定值:new_list.remove(1) 不可变 del函数按键名删除:del(new_dict('key_a')) remove方法删除一个值:new_set.remove('string')
创建空×× empty_list=[] empty_tup=() empty_dic={} empty_set=set()

5、控制流

条件语句

当“判断条件”成立时,则执行后面的语句,执行内容可以多行,以缩进来区分表示同一范围,else为可选语句,当需要在条件不成立时执行内容。

if语句执行过程:

image.png

通常情况下,判断条件为多个时,可使用如下形式:

 if 判断条件1:
        执行语句1......
 elif 判断条件2:
        执行语句2......
 elif 判断条件3:
        执行语句3......
 else:
        执行语句4......

示例如下:

num = 5     
if num == 3:            # 判断num的值
    print('boss')       
elif num == 2:
    print('user')
elif num == 1:
    print('worker')
elif num < 0:           # 值小于零时输出
    print ('error')
else:
    print ('roadman')    # 条件均不成立时输出

输出结果:


image.png

循环语句

程序一般情况下是按顺序执行的。循环语句允许我们执行一个语句或与剧组多次。执行过程如下:

image.png
循环类型 描述
while循环 在给定的判断条件为True时执行循环,否则退出循环体
for循环 重复执行语句
嵌套循环 while循环体和for循环体可以相互嵌入

while循环

语法如下:

while 判断条件:
    执行语句......

流程图:

image.png

示例如下:

count = 0
while (count < 5):
   print ('The count is:', count)
   count = count + 1

else:
    print ("Good bye!")

输出结果为:


image.png

for循环

可以遍历任何序列的项目,如一个列表或者一个字符串。

语法如下:

for 元素 in 序列:
   代码块

流程图:

image.png

示例如下:

for letter in 'Python':     # 第一个实例
   print( '当前字母 :', letter)

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print ('当前水果 :', fruit)

print ('Good bye!')

运行结果为:


image.png

循环嵌套

示例如下:

i = 2
while(i < 10):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print (i, " 是素数")
   i = i + 1

print ("Good bye!")

运行结果为:

image.png

循环控制语句

控制语句 描述
break语句 在语句块执行过程中终止循环,并且跳出整个循环
continue语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
pass语句 空语句,为了保持程序结构的完整性

6、自定义函数

def自定义函数

语法如下:

def 自定义函数名称(x,y):
    代码块
    return

示例如下:

def cal(x,y=1):#y设置1为默认值
    result=x*x+y
    return result
print(cal(2))
print(cal(2,3))

输出结果为:


image.png

lambda匿名函数

通过单个语句生成函数的方式

示例如下:

cal=lambda x,y=1: x*x+y
print(cal(2))
print(cal(2,3))

输入结果为:


image.png

其中:lambda为关键词,x,y为函数自变量,x*x+y为函数返回值的代码表达式。

相关文章

网友评论

      本文标题:Python数据分析-基础知识整理

      本文链接:https://www.haomeiwen.com/subject/ktsightx.html