1.快速打开jpynb
shift+?
2.常见的数据类型
int_ = 1
print('类型为:%s' %type(float_))
2.1互相转化
print(float_)
print(int(float))
int()将一个数值或者字符串转换成整数,可以制定进制
ord()将字符串转换成对应的编码
chr()将整数转换成编码对应的字符串
3.各种结构
3.1if语句
if elif else:
a = 1
b = 2
c = 0
x = input('what do you do')#x是运算符
if x=='+':
c = a+b
print('{} {} {} = {}'. format(a,x,b,c))
else:
print('请重新输入')
3.2
list:用于存储数据的列表,list_ = [1,2,3]
len(list_):列表的长度
range(101):从0到101的数值,前闭后开
3.3for in
count = 1
for i in [3,6,4,32]:
print('\n现在正在执行第{}次循环,输出的值是:{}'.format(count,i))
count = count+i
sum = 0
for x in range(5):
sum = x+sum
print('\现在balabala')
print('\n最终的值为:%d'%sum)
while (sum < 141):
print('you:{}'.format(sum))
sum = sum+4
print('success')
print('-'*20)
不缩进代表跳出循环
crtl+/就是全部注释
3.4工具包的调用
from 某个工具包 import 某个功能
3.5自定义函数
def pay(x);#x就是我输入的变量
y = 5*x + 5
return print('这个瓜宝,%d斤%d块钱'%(x,y))
weight = int(input('你要买多少的瓜?\n'))
pay(weight)
y = lambda x: 5*x + 5
y(2)
lambda是一个匿名函数,输入x进行冒号后面的逻辑运算
4.数据结构
string = 'hi i am lisa'
print('string')
a = 'hi '
b = 'lisa'
c = 'hi lisa'
a + b
print(b.strip())
print(c.replace(' ',''))#替换空格
L1=['hi','you']
list(enumerate(L1))这个函数是枚举函数的意思
L1[1]取得第二个值,也就是you
len(list_):列表的长度
for i in L1:
print('遍历第{}个值,它是:{}\n'.format(count,i))
count = count + 1
for i in range(len(L1)):
print('遍历第{}个值,它是:{}\n'.format(i,L1(i))
#利用切片,前闭后开
L1[0:1]
#利用for循环
character = [] #创建一个列表
character.append('hello') #输入一个值
character #输出这个列表
driver = ['y','u','o']
count = 0
for i in driver:
count = count + 1
character.append(i)
print('\n执行第:{}次,character={}'.format(count,character))
character
#输出一个完整的列表
#元组,不可删改的列表
T1 = ('u','o')
4.3集合
set1 = {1,2,3}
set2 = {5,5,6}
print(set1,set2)#无重复元素
print(set1 & set2)#交集
#|并集 -差集 ^对称差集
4.4字典
#字典的生成:key:values
EVA1 = {'you':'silly','i':'smart'}
EVA2 = dic(zip(['you','i'],['silly','smart']))
#字典的属性,查看
print(EVA1.keys())
print(WVA2.values())
#取值,访问
EVA1['you']
二、numpy
import numpy as np
#多维数组
ar1 = np.array([1,2,3])
type(ar1)
np.arange(1,10)
#类别转换
np.array(range(1,4)).dtype
np.array(range(1,4)).astype('float')
#形状
ar = np.array(range(0,12))
ar
ar.shape #(x,y)x列y行
new_ar = ar.reshape(3,4)#重塑
print(new_ar.shape)
#行列
axis = 0#从上到下
arr3 = np.arange(0,12).reshape(3,4)
arr3.sum(axis=0)
print(arr3.sum(axis = 0))
#运算
arr = np.arange(0,12).reshape(3,4)
arr+arr
#逻辑运算 ==会对矩阵元素进行匹配,相等就是true
#索引和切片
arr = np.array([5,5,4,3,2,1])
print(arr[2:4])#对应位置是23的数字,也就是第3,4个
arr2d = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(arr2d[2])
print(arr2d[2][2])
print(arr2d[:2])#切分前两行的数值
print(arr2d[:2 , 1:])#第一次运行的结果内部取,切分第一列之后的数值
arr9 = np.empty((4,4))#创建空矩阵
for i in range(4):
arr[i] = (i+1)**2
#三元表达式
xarr = np.array([1.1,1.2,1.3])
yarr = np.array([2.1,2.2,2.3])
result = np.where(xarr>1.3, xarr, yarr)
print('result:{}'.format(result))
#基础统计方法
arr.mean()
arr.sum()
arr = np.random.randn(6)#随机生成一个一维数组
arr.sort()#从大到小
三、pandas
import pandas as pd
import numpy as np
#有两种数据类型series和dataframe
#生成series 由values和index组成
q = {'i':1,'u':0}
q_s = pd.Series(q)
q_s[0]#[0:1]
q_s.values
#dataframe
data = pd.read_excel(r'C:\Users\huawei\Desktop\last.xlsx')
data = pd.DataFrame(data)
pd.Series(pd.unique(data['actual']))#unique去重函数是什么意思
data['符号'] = '℃'
data['temp'] = (round(data.actual-data.annual,1).map(str).str.cat(data['符号']))#map映射是将数据以列的形式返回,cat是链接符号
#查询数据
#布尔索引值:根据条件判断,返回一列布尔列表
data.query('annual>0')[['year','actual']]#返回year
#data[['year','actual']][data.gmvroi.isin([1,])]
#pd.Series(data['annual'][data.annual.std.contains('09')]).unique()
data.groupby('year').agg(平均气温 = ('annual','mean'))
print(data.query('annual>1')[['year','actual']])
#having筛选 agg是一个聚合函数
ate:3.8
1.变量名不能用数字开头,可以是下划线,变量又是引用,也可以理解为标签
from decimal import Decimal
# 类型名大写,模块小写
Decimal("0.1")+Decimal("0.1")
# 以十进制保存,不会出现运算精度问题
2.除法 6/3=2.0 10//3=3 10%3=1
3.关系运算 用在if语句里面 一定要能返回真或者假
4.2 if语句和选择结构
height = float(input("Your height(cm):"))
full_price = float(input("Price(rmb):"))
if height<=1.3:
price = 0
elif height<=1.5:
price = full_price / 2
else:
price = full_price
print("you should pay ", price)
4.4 逻辑运算(运算级别是最低的,用括号括起来)
not语句?
type(apple)可以查找变量的类型
apple + "123" = apple123
apple*3 = appleappleapple
dir(apple) # 可以获取一个对象包含的所有属性和方法
apple.upper = APPLE
"APPLE".lower() = apple
phone="1234"
phone.startwith("12") # 判断是不是以12开头 endwith同理