1. 程式人生 > >PYTHON筆記第九章

PYTHON筆記第九章

import pandas as pd#匯入熊貓庫
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]#資料
indexs=["aaa","bbb","ccc","ddd"]#定義索引,即橫座標屬性
columns=["Chi","Mat","Eng","Nat","Soc"]#定義列坐杯屬性
df=pd.DataFrame(datas,columns=columns,index=indexs)#匯入資料,橫縱座標屬性
print(df.head(2))#列印頭兩行
print(df.tail(2))#列印尾兩行

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]#橫座標
columns=["Chi","Mat","Eng","Nat","Soc"]#縱座標
df=pd.DataFrame(datas,columns=columns,index=indexs)#建表
print(df.loc["ddd",:])#輸出DDD行,所有列值,注意這裡會打豎輸出末尾加屬性名與種類
print(df.loc["ddd"]["Mat"])#輸出DDD行MAT列值
print(df.loc[("ddd","ccc"),:])#輸出DDD,CCC行值53
print(df.loc[("ddd","ccc"),("Chi","Mat")])#輸出DDD,CCC行,CHI,MAT列值
print(df.loc["ccc":"ddd","Chi":"Eng"])#輸出CCC到DDD行,CHI到ENG列值
print(df.loc[:"ddd","Chi":"Eng"])#輸出第0列到DDD行,CHI到ENG列值
print(df.loc["ccc":,"Chi":])#輸出CCC到末行,CHI到末列值

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df)
indexs[0]="eee"
df.index=indexs
columns[3]="Phy"
df.columns=columns
print(df)
print(df[df.Mat>=80])#輸出數學列大於80的列
print(df[["Mat"]])#輸出數學列
print(df[["Chi","Eng"]])#輸出語文,英語列
print(df.values)#輸出全部值
print(df.values[1])#輸出第1行
print(df.values[1][2])#輸出第1行第2列

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df)
indexs[0]="eee"#改行屬性
df.index=indexs#賦值
columns[3]="Phy"#改列屬性
df.columns=columns#賦值
print(df)#輸出

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df.iloc[0][0])#65,第0行第0列元素
print(df.ix["ccc"][2])#91,CCC行第2列元素

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df)#輸出
indexs[0]="eee"#修改
df.index=indexs#賦值,修改第0行屬性那個列表
columns[3]="Phy"#第2列屬性
df.columns=columns#賦值,修改第2列屬性那個列表
print(df)#輸出
print(df[df.Mat>=80])#數學成績大過80的列
print(df[["Mat"]])#數學成績列
print(df[["Chi","Eng"]])#語文,英語成績列

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df.iloc[0][0])#第0行第0列
'''
loc:通過行標籤索引資料
iloc:通過行號索引行資料
ix:通過行標籤或行號索引資料(基於loc和iloc的混合)
'''

import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)#生成表格
df1=df.sort_values(by="Mat",ascending=False)#按MAT排序,降序
print(df1)#輸出

import pandas as pd
tables=pd.read_html("http://value500.com/M2GDP.html")
n=1
for table in tables:
    print("no.{}".format(str(n)))#提示:第N行
    print(table.head())#解釋了為何是第19個圖表
    print()#換行
    n+=1#行數加1
    
import pandas as pd
dt=pd.read_html("http://www.86pm25.com/city/beijing.html")
data=dt[0]#讀出第0個表格
print(data)#輸出
print()#換行
print(dt)#輸出所有表格,輸出可見有個[]表示列表
import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
df.ix[1][1]=999#改值
df.ix[3][3]=-22#改值
print(df)

import pandas as pd
from pylab import *
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["林大明","陳聰明","黃美麗","熊小娟"]
columns=["語文","數學","英文","自然","社會"]
df=pd.DataFrame(datas,columns=columns,index=indexs)#生成表格
df.plot()#就是這句自帶畫圖功能!!!呵呵,簡單
import pandas as pd
datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]#資料
indexs=["aaa","bbb","ccc","ddd"]#定義行屬性
columns=["Chi","Mat","Eng","Nat","Soc"]#定義列屬性
df=pd.DataFrame(datas,columns=columns,index=indexs)#生成表格

df1=df.drop("ccc")#刪掉屬性為CCC的行
print(df1)
df2=df.drop("Mat",axis=1)#刪列時要設為1,刪行時因為預設為0所以可以省略
print(df2)
df3=df.drop(["Eng","Nat"],axis=1)#刪除列為ENG與NAT的列
print(df3)
print("")
df4=df.drop(df.index[2:3])#刪除下標為2的行
print(df4)
df5=df.drop(df.columns[2:3],axis=1)#除於下標為2的列
print(df5)
import pandas as pd
tables=pd.read_html("http://value500.com/M2GDP.html")#讀取網頁中的所有表格
print(tables)#掂過碌蔗
print()
print()
print()
print()
print()
table=tables[18]#讀出第18個表格
table=table.drop(table.index[[0,1]])#刪掉標題
table.columns=["year","M2","GDP","M2/GDP"]#自設標題改變列屬性
table.index=range(len(table.index))#以table行數即0-(行MAX-1)重新編號
print(table)#輸出表格
import pandas as pd
dp=pd.DataFrame({"aaa":[65,92,78,83,70],"bbb":[90,72,76,93,56],
                 "ccc":[81,85,91,89,77],"ddd":[79,53,47,94,80]})
print (dp)#直接列印
import pandas as pd

datas=[[65,92,78,83,70],[90,72,76,93,56],[81,85,91,89,77],[79,53,47,94,80]]
indexs=["aaa","bbb","ccc","ddd"]
columns=["Chi","Mat","Eng","Nat","Soc"]
df=pd.DataFrame(datas,columns=columns,index=indexs)
print(df)#列印全部表格