您的位置:

最新python学习笔记3,python基础笔记

本文目录一览:

利用Python进行数据分析-读书笔记(3)

pandas专门为处理表格和混杂数据设计

import pandas as pd

from pandas import Series,DataFrame

Series 类似于一维数组+索引

data = pd.Series([1,2,3,4,5]) 生成Series数据

data.values data.index

pd.Series([1,2],index = ['a','b']) 设置索引

data['a'] 通过索引选取Series中单个或一组值

data[data%2==0] 进行类似numpy数组的运算index仍会保留

'a' in data

pd.Series(python字典) 可以通过python字典创建Series

可以通过设置index改变Series元素顺序

缺失值用NaN表示

pd.isnull(data) 检测缺失数据

pd.notnull

data1 + data2 可以根据索引自动对齐数据进行运算,类似join操作

data.name data.index.name 可赋值

index可以通过赋值方式修改

pd.DataFrame(XXX)传入元素为等长列表或np数组组成的字典可以生成DataFrame数据,字典key值为列名

frame.head() 前五行

pd.DataFrame(XXX, columns = [xxx], index = [xxxxx]) 可能产生NaN

frame['a'] 取列名为a的一列数据 等价于 frame.a(此时a需要是合理的变量名) 可以以列表形式取多列数据 返回的Series序列索引与原DataFrame相同

frame.loc[0] 行选取

可以用一个Series/值对某列赋值,需要长度相等

对不存在的列赋值可创建新列

del frame[列名] 删除列

通过索引方式返回数据视图,修改此返回数据也会影响源数据,Series.copy()可以创建副本

嵌套字典传给DataFrame,外层字典的键作为列名,内层键作为行索引

frame.T 转置

frame.reindex(新索引列表) 根据新索引重排,若索引值当前不存在则NaN

列可以用columns关键字重新索引

obj3 = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])

obj3.reindex(range(6), method='ffill') ffill实现前向值填充

reindex可以修改(行)索引和列。只传递一个序列时,会重新索引结果的行,列可以用columns关键字重新索引

Series索引

series(索引列表/数值范围切片) 选取对应元素

Python之Game笔记(3):pygame简单动画的实现

1、学习pygame基本框架,简单动画的实现;

   在pygame中引用图像最简单的方法是image函数。下面在马路的实例中,加入一辆汽车。首先pygame.image.load()函数从硬盘加载一个图像,并创建一个名为my_car的对象。这里,my_car是一个surface,不过是存在内存中,并未显示出来,然后用blit(块移)方法将my_car复制到screen表面上,从而显示出来。

   计算机动画实际上就是把图像从一个地方移动到另一个地方,同时几个连接动作交待显示就会产生逼真的效果。

   因此,在做动画中,最基本要考虑的因素主要是三个,

   一是时间,什么时间移动,多长时间变下一个动作,

   二是位置,从什么位置到什么位置,

   三是动作,前后两个动作的连续性。

   在这个例子中,因为车是俯视的,所以车轮转动实际是看不到的,所以不用考虑连续动作的变化,而是只考虑车的位置和多长时间移动即可。

   第一步pygame.time.delay()来实现时间延迟;

   第二步利用pygame.draw.rect()把原来位置的图像覆盖掉;

   第三步screen.blit()在新位置引入图像。

   下面的程序实现了汽车从驶入到驶出的过程。

1、网页

python自学笔记13:元组和字典的操作

定义元组(tuple):

t1=(1,2,3,4)#多个数据元组

t2=(1,)#如果元组内只有一个数据,也需要手逗号隔开,否则这个数据将是他本身的类型。

元组的操作:

元组类型数据不支持修改,可查找

查找:

按下标查找:

print(t1[1])

函数查找:

print(t1.index(1))返回对应下标,如果数据不存在,程序将报错

print(t1.count(1))统计数据在元组当中出现的次数

print(len(t1))统计元组当中的数据个数

注意:当元组内嵌套列表数据,可以通过下标的方法对列表数据进行修改如:

t3=(1,2,["a","b"])

t3[2][0]=c #t3的值将变为(1,2,["c","b"])

——————————————————

——————————————————

定义字典(dict)

字典的特点

1:符号为{}

2:数据为键(key)值(value)对形式,每个键值对之间用逗号隔开如:

dict1={"name":"小明","age":18,"gender:男"}

字典的操作:

dict1["name"]="小红"

dict1["id"]=3

如果key存在,将修改其所对应的值。如果不存在,将在字典最后添加该键值对

2.删除数据

del():删除字典或删除字典内的键值对

del dict1["name"] 删除字典内的键值对,如果删除的key不存在,程序将会报错

del(del)删除字典

clear(dict1) 清空字典

3.查找数据

一.按照key进行查找,最后返回相对应的值

二.按函数进行查找:

(1) get(key,默认值):

如果查找的key不存在则返回所写的默认值,如果不写默认值则返回None

dict1={"name":"小明","age":18,"gender:男"}

print(dict1.get("name")) #小明

print(dict1.get("id",110)) # 110

——————————————————

(2) keys():返回字典内的所有key 可用for遍历

print(dict1.keys())

返回 ["name","age","gender"]

for key in dict1.keys():

..print(key)

逐行输出name age gender

——————————————————

(3) values(): 返回字典内的值 可用for遍历

print(dict1.values())

返回["小明",18,"男"]

for value dict1.values():

..print(value)

逐行输出小明 18 男

——————————————————

(4) items():将字典内的数据以元组的形式返回

print(dict1.items()) 可用for遍历

返回[("name","小明"),("age",18),("gender","男")]

for item in dict1.items():

..print(item)

逐行输出 ("name","小明") ("age",18)("gender","男")

——————————————————

遍历字典键值对(拆包) 可在for内使用两个临时变量

dict1={"name":"小明","age":18,"gender:男"}

for key,value in dict1.items():

..print(f"{key}=value")

逐行输出:

name=小明 age=18 gender=男

python自学笔记三:循环体

i=0

reuslt=0

while i =100:

reuslt =i

i =1

print(f"1至100的累加和为{reuslt}")

此段代码 将在i小于等于100时重复累加,第一次循环为:reuslt=0+0第二次为reuslt=0+1 第三次为reuslt(1)=reuslt(1) 1,第四次为reuslt=2+2 第五次为reuslt=4 3.......

最终输出结果为:5050

1至100偶数相加:

i=0

reuslt=0

while i =100:

if i%2==0;#%取余

reuslt =i #如果i除以2等于0 则相加

i =1

print(f"1至100偶数相加的和为{i}")

注意此段代码的缩进关系。if和i =1是同一级别 reuslt =1处于if之下

因无法编辑格式,故用 表示空格一 等于一空格

此段代码 将在i小于等于100时重复累加,每次循环前将先判断i除2是否等于0,如相等则累加,不等则执行i =1后在次进行循环。

思考:猜数 游戏 代码应怎么写。电脑随机给出一个0至100的数字,由参与者猜测,直至猜测结果与电脑给出的数值一至。

python自学笔记一 基础输出

print("我是python小白")

终端输出:我是python 。

此种写法只用于了解print函数的作用,在程序中要输出某个内容,一般采用变量的形式,即:

my="小白"

print("我是python%s。" % my)

终端输出:我是python小白。

此处my为变量,小白是被赋值给变量my,并不是my等于变量。定义变量的好处是一个程序可以无限次数的使用它。定义变量还可以为:

a=b=c=2 #2同时赋值给a b c三个变量

a,b c=1,2,3 #a=1 b=2 c=3

注意:变量名区分大小写,不能以数字开头。

name,age,weight="小白",18,65.5

stuid=1

print("我的名字是%s,我的年龄是%d,我的体重是%f公斤,我和学号是%d" % (name,age,weight,stuid))

终端输出:我的名字是小白,我的年龄是18岁,我的体重是65.500000公斤,我的学号是1

print("我的名字是%s,我的年龄是%d岁,我的体重是%.2f公斤,我的学号是%03d" %(name,age,weight,stuid))

终端输出:我的名字是小白,我的年龄是18岁,我的体重是65.50公斤,我的学号是001

printt(f"我的名字是{name},我明年的年龄是{age 1}岁,我的体重是{weight}公斤,我的学号是00{stuid}")

#此种写法为最常用的。

终端输出:我的名字是小白,我明年的年龄是19岁,我的体重是65.5公斤,我的学号是001

%d 为整数型函数值 %03d表示以3位整数显示,不足的以0替代,超出的原样显示。

%f为小数型函数值%.2f表示只显示小数点后两位

%s为字符型函数值 字符串应以双引或单引号括起。