数据分析_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. 字符串处理函数
a ='hsw'
a.upper()
# 'HSW'
a.find('h')
# 0
a.replace('w','Wong')
# 'hsWong

'''

'''
  1. 表达式:通过使用运算符和函数对字面值进行处理而构建起来的。
  2. 序列类型:指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。
  3. 列表:不同类型数据的序列。
# 列表
# 创建列表
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. 元组: 元组和列表十分类似,只不过元组和字符串一样是不可变的,即不能修改、增减元组。
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%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?


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. 写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出.
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间所有偶数的和。
sum(range(0,101,2))
  1. 从键盘接收一百分制成绩(0100),要求输出其对应的成绩等级AE。其中,90分以上为’A’,8089分为’B’,7079分为’C’,60~69分为’D’,60分以下为’E’。
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天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。
def sum(n):
    s = 1
    for i in range(0,n-1):
        s = (s+1)*2
    return s
sum(n=10)


35732321

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我们可以采用Python中的pandas和matplotlib库进行营业数据分析。下面我介绍一下具体的实现步骤。 首先,我们需要准备一份销售数据的CSV文件,例如以下示例数据: ``` 日期,商品名称,销售额,销售量 2021-01-01,商品A,1000,10 2021-01-01,商品B,1500,15 2021-01-02,商品A,1200,12 2021-01-02,商品B,1800,18 2021-01-03,商品A,1300,13 2021-01-03,商品B,1900,19 ``` 然后,我们可以使用pandas库将CSV文件读取到数据框中,并进行一些数据清洗和处理。代码如下: ```python import pandas as pd # 读取CSV文件到数据框 df = pd.read_csv('sales_data.csv') # 将日期列转换为datetime类型 df['日期'] = pd.to_datetime(df['日期']) # 添加月份列 df['月份'] = df['日期'].dt.month # 添加销售额/销售量单价列 df['销售额单价'] = df['销售额'] / df['销售量'] df['销售量单价'] = df['销售量'] / df['销售额'] ``` 接着,我们可以使用pandas的聚合函数对数据进行汇总和统计。例如,我们可以按月份汇总销售额和销售量,代码如下: ```python # 按月份汇总销售额和销售量 df_monthly = df.groupby('月份').sum()[['销售额', '销售量']] ``` 然后,我们可以使用matplotlib库绘制图表,例如绘制销售额和销售量的折线图,代码如下: ```python import matplotlib.pyplot as plt # 绘制销售额和销售量的折线图 plt.plot(df_monthly.index, df_monthly['销售额'], label='销售额') plt.plot(df_monthly.index, df_monthly['销售量'], label='销售量') # 添加图表标题和标签 plt.title('销售额和销售量月度趋势') plt.xlabel('月份') plt.ylabel('金额/数量') plt.legend() # 显示图表 plt.show() ``` 最后,我们可以通过对数据框进行筛选和排序,来查找一些有用的信息。例如,我们可以查找销售额单价最高的商品,代码如下: ```python # 查找销售额单价最高的商品 df_top = df.sort_values('销售额单价', ascending=False).head(1) # 输出商品名称和销售额单价 print(f"销售额单价最高的商品是{df_top.iloc[0]['商品名称']}, 单价为{df_top.iloc[0]['销售额单价']:.2f}") ``` 以上就是一个简单的营业数据分析案例,希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值