数据分析_01_Python基础

1. Python基础

  1. list:优点(保存不同类型的数据);缺点(不同类型的数据需要对应的指针,因为每种数据的所占的内存空间不同,每取一个数据,指针步长不同。)
  2. array: 一维数组。
  3. Numpy:处理多维数组+提供函数库,用来处理数组。
  4. Scipy:包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等函数。
  5. Pandas:数据分析包,对金融数据进行时间序列分析。包含面板数据和时间序列数据。
  6. Matlplotlib:可视化模块,制作线条图、饼图、柱状图以及其他专业图形。
  7. Scikit-Learn:机器学习模块。包括分类、回归、聚类、数据降维、模型选择、数据预处理。
  8. Theano:提供了深度学习框架。
  9. 常量:只读。
  10. 转义字符:',\r,\t,\a,\f,\。不转义:r""。
  11. 字符串:字符串是以' '或""括起来的任意文本。
  12. 布尔值:True、False。
  13. 逻辑判断:and、or和not。
  14. 空值:None。
  15. 变量命名规范:变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
  16. 动态语言:变量本身类型不固定的语言。x = 123,x="abc"
  17. 静态语言:在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。int a = 1; a = 1.23(X)
  18. 标识符:用来标识某样东西的名字。除变量外,使用标识符的例子还有函数名、类名等。
  19. 缩进:Python是用连续相同层次缩进表示语句块的。不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。
  20. 注释: # ,''' '''
  21. input():用户输入字符串,并存放到一个变量里。a = input()。
  22. 运算符:+ ,- ,*,/,//,%,<,<=,>,>=,==,!=,and,or ,not
  23. 字符串连接:str1+str2."Hello"+" "+"World!" -->"Hello World!"
  24. 取部分字符串: str[star🔚step];a = "012345";a[::2];a[:3:2],取值区间左闭右开。
  25. 字符和ASCII码之间的转换:ord('a');chr(97);
  26. 字符串处理函数
python 复制代码
a ='hsw'
a.upper()
# 'HSW'
a.find('h')
# 0
a.replace('w','Wong')
# 'hsWong

'''

'''
  1. 表达式:通过使用运算符和函数对字面值进行处理而构建起来的。
  2. 序列类型:指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。
  3. 列表:不同类型数据的序列。
python 复制代码
# 列表
# 创建列表
import string
import numpy

a = [1,2,3]     
b = ["hello","world",3,4,5.0]  # 不同数据类型的序列
c = a+b         
c
# [1, 2, 3, 'hello', 'world', 3, 4, 5.0]
# 列表用append()添加一个元素
c.append('123')  
c
# [1, 2, 3, 'hello', 'world', 3, 4, 5.0, '123']

# 列表用extend()添加多个元素,也可以用+号
c.extend([1000,999,888,666,555])  
c

## 获取列表内多元素
c[0]
c[-1]
c[2:-1:3]
c[-1:-6:-1]
c[-1:0:-1]
c[-6:-1:2]
c[2:5]=100  # 修改列表元素值
del c[2] //删除列表下标为2的元素
len(c)
c+=[0,0,0]
c[:3]*3
2 in c

max(b)
min(b)

list(c[2])
c.count(0)
c.reverse()
c[:5].sort()
c.index(4)
c.insert(0,-1000000)
c.pop()
c.remove(0)
'''

'''
  1. 元组: 元组和列表十分类似,只不过元组和字符串一样是不可变的,即不能修改、增减元组。
python 复制代码
t = ()    # 空元祖 
t0=(1,)   # 元祖里只有一个数据,在数值后加逗号","。
t2 = (1,2,3,(4,5,6))  # 元祖嵌套
t2[3]     # (4, 5, 6)
t2[3][1]  # 5
len(t2)   # 4
t2[2:4]   # (3, (4, 5, 6))
t2+t0     # (1, 2, 3, (4, 5, 6), 1)
复制代码
31.   字典格式:<字典名>={键1:值1,键2:值2,键3:值3,...}
32.  空字典:a={}
33. 字典嵌套:x={"a":1,"b":{"c":2}}
34. 字典键:x.keys()
35. 字典值:x.values()
36. 字典长度:len(x)
37. 删除键:del x['a']
38. 字典赋值或修改值:x["b"]=1000
39. 删除字典:del x
40. 字典添加新的键值:x["c"]= 111
41. 字典清空:x.clear()
42. x.setdefault(key,values):
43. x.iterm():
44.  x.has_key(key)
45. x.get(key,default=None): 判断key是否在字典x里面,如果在,就返回其下标,反之返回None或default值。
46. x.copy()
47. x.update(dict2)
48. 字典的键必须是常量,如果是列表就报错。
49. while
50. if else:
51. for(){}
52. x.pop(key):
53. 集合:无序和无重复元素的集合. 形式set(),不含重复值。x = set([1,2,3,1,2,2,,1,3])-->{1, 2, 3}
54. set添加元素到: x.add(100) --> {1, 2, 3, 100}
55. 集合删除元素:x.remove(3)-->{1, 2, 100}
56. 集合交集:set([1,2,3]) & set([2,3,4])  --> {2, 3}
57. 集合并集:set([1,2,3]) | set([2,3,4])  --> {1, 2, 3, 4}
58. 函数:完成特定功能的一个语句组。
59. 函数格式:def 函数名(参数):<函数体>
60. 形式参数:在定义函数时函数名后面圆括号中的变量名称。
61. 实际参数:在调用函数时,函数名后面圆括号中的变量名称。
62. int('123')-->123
63. int(123.123)-->123
64. str(123)-->'123'
65. bool(1) --> True
66. bool(-1) --> True
67. bool(0) --> False
68. 函数名本质:指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个"别名"。 a = abs;a(-1)-->1
69. int('110',2): 二进制字符串,转换成十进制
70. int('16',8):2 ------------> 8
71 . bin(123): 2 to 10 进制
72.模块基: 一个包含了已定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。

73. 
例1:一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
python 复制代码
def re(m,n):
    '''
    计算定期存款n年后的本息
    :param m: 本金
    :param n: 年数
    :return: 本息
    '''
    return m*(1+0.0325)**n
    
n = 1
m = 10000
while(re(m,n)<20000):
    n+=1
n  
'''
22
'''
  1. 写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出.
python 复制代码
def sushu(x):
    t = 2
    while(t<x):
        if (x%t==0):
            return -1
        t += 1
    return x
    
for i in range(100):
    if sushu(i)>0:
        print(i)
  1. 求1~100间所有偶数的和。
python 复制代码
sum(range(0,101,2))
  1. 从键盘接收一百分制成绩(0100),要求输出其对应的成绩等级AE。其中,90分以上为'A',8089分为'B',7079分为'C',60~69分为'D',60分以下为'E'。
python 复制代码
def score():
    s = int(input())
    while(s<0 or s>100):
        s = int(input())
    if (s>90):
        return "A"
    elif (s>80):
        return "B"
    elif (s>70):
        return "C"
    elif (s>60):
        return "D"
    else :
        return "E"

score()
  1. 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。
python 复制代码
def sum(n):
    s = 1
    for i in range(0,n-1):
        s = (s+1)*2
    return s
sum(n=10)
相关推荐
笨蛋少年派5 小时前
跨境电商大数据分析系统案例:③建模、分析与暂时收尾
hive·数据挖掘·数据分析
Cisyam^5 小时前
openGauss + LangChain Agent实战:从自然语言到SQL的智能数据分析助手
sql·数据分析·langchain
CC数学建模6 小时前
被问爆的 “高颜值 + 强功能” 学生管理系统!Flask+MySQL 全栈开发,自带数据分析 + 幸福指标,毕设 / 竞赛直接
mysql·数据分析·flask
咚咚王者9 小时前
人工智能之数据分析 Matplotlib:第四章 图形类型
人工智能·数据分析·matplotlib
语落心生11 小时前
大宗供应链企业舆情指标系统设计(一)舆情指标设计
数据分析
语落心生11 小时前
餐饮供应链的数仓设计思考 (五) 系统稳定性与SLA保障体系
数据分析
语落心生11 小时前
餐饮供应链的数仓设计思考 (四) 餐饮连锁企业数据模型可解释性
数据分析
语落心生11 小时前
餐饮供应链的数仓设计思考 (三) 数据管道与核心系统API对接方案
数据分析
语落心生11 小时前
餐饮供应链的数仓设计思考 (二) 餐饮连锁企业深度业务模型分析
数据分析
语落心生12 小时前
餐饮供应链的数仓设计思考 (一) 系统设计大纲
数据分析