数据分析_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. 从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'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)
相关推荐
武子康2 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
Q8137574602 小时前
数据挖掘在金融交易中的应用:民锋科技的智能化布局
人工智能·科技·数据挖掘
布说在见2 小时前
魅力标签云,奇幻词云图 —— 数据可视化新境界
信息可视化·数据挖掘·数据分析
Tianyanxiao3 小时前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售
FIT2CLOUD飞致云4 小时前
仪表板展示|DataEase看中国:历年双十一电商销售数据分析
数据分析·开源·数据可视化·dataease·双十一
皓7414 小时前
服饰电商行业知识管理的创新实践与知识中台的重要性
大数据·人工智能·科技·数据分析·零售
菜鸟的人工智能之路5 小时前
桑基图在医学数据分析中的更复杂应用示例
python·数据分析·健康医疗
阡之尘埃12 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
布说在见14 小时前
层次与网络的视觉对话:树图与力引导布局的双剑合璧
信息可视化·数据挖掘·数据分析
全栈开发圈21 小时前
新书速览|Spark SQL大数据分析快速上手
sql·数据分析·spark