本文目錄一覽:
- 1、利用Python進行數據分析-讀書筆記(3)
- 2、Python之Game筆記(3):pygame簡單動畫的實現
- 3、python自學筆記13:元組和字典的操作
- 4、python自學筆記三:循環體
- 5、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為字元型函數值 字元串應以雙引或單引號括起。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248349.html