Analisis数据Eksplorasi — Bagian 1
Analisis数据Eksplorasi — Bagian 2
Analisis数据Eksplorasi — Bagian 3
Pada tulisan ini,kita akan mencoba menjawab 3 kasus menggunakan数据。 Setiap kasus terdapat beberapa langkah pengerjaan yang akan membantu dalam analisis数据。 Setelah menyelesaikannya,北阿坎膜猴kesimpulan pendek(kurang dari 100 kata)。
- 欢迎来到图书馆! – Olimpia Curini Galletti –中
- 里弗顿图书馆为鸡尾酒会筹款活动建造“魔法森林”
- 迷你数学图书馆@ Maths2Art!
- 物联网设备编码的基本Python库
- 每周综述:图书馆提供博物馆通行证,教堂在精神上和身体上滋养社区
数据
Untuk latihan kali ini,digunakan 2个基本数据:
- 基础数据棒球肖恩·拉曼(Sean Lahman)扬·泰达帕特(Stata)于1871年在桑帕(Sampai)2013,迪坦巴(Ditambah)统计学,拉帕甘(Klasemen),蒂姆·塔姆(catatanik stat),加丹坦·马纳杰(catatan manajer),数据帕斯卡·穆西姆(dans la-lain)。 Selebihnya,双歧杆菌dokumentasinya。
- Gapminder Adalah Sumber Yang Bagus,Terdapat Lebih Dari 500个数据集,国民生产总值,指标Negara Seperti Pendapatan,GDP,Dan harapan hidup。
图娟
Pada tulisan ini,北阿坎贝拉哈尔:
- Memuat 文件 CSV dari网站。
- python的Membuat 函数 。
- Membuat 图 dan statistik ringkasan untuk analisis数据eksplorasi seperti 直方图 , 箱形图和dan 散点图 。
图书馆杨digunakan
- NumPy ,untuk 数组
- 熊猫 ,untuk 数据框
- matplotlib , 绘图
在[1]中:
#命令untuk menyiapkan笔记本+ matplotlib
%matplotlib内联
将numpy导入为np
将熊猫作为pd导入
将matplotlib.pyplot导入为plt #Kali ini,kita perlu memuat modul-modul berikut
汇入要求
进口io
从zipfile导入ZipFile
古纳坎语(Gunakan)分析数据显示菜单项。
兰卡1
Muat 文件 CSV dari基础数据棒球Sean Lahman。 Kali ini,北阿坎门格纳坎(Kali inkan),孟加纳坎(kangunakan)表格“ Salaries.csv”和“ Teams.csv”。 Baca tabel-tabel tersebut ke dalam DataFrame pandas dan tampilkan p tabel。
在[2]中:
def getZIP(zipFileName):
r = request.get(zipFileName).content
s = io.BytesIO(r)
zf = zipfile.ZipFile(s,'r')#Membaca 列表 dari 文件 zip
返回zf
Kita menggunakan模数请求 , io ,dan zipfile untuk mengekstrak semua 文件 teks dari网站。 模zip 文件 dapat membuat,membaca,menellis,menambahkan,dan membuat列表dari 文件 zip 。
Gunakan URL yang mengarah ke 文件 .zip,kita bisa melakukan 打印 semua nama 文件 yang ada di文件夹zip。
在[3]中:
url ='http://seanlahman.com/files/database/lahman-csv_2014-02-14.zip'
zf = getZIP(URL)
打印(zf.namelist())
出[3]:
[“ SchoolsPlayers.csv”,“ SeriesPost.csv”,“ Teams.csv”,“ TeamsFranchises.csv”,“ TeamsHalf.csv”,“ AllstarFull.csv”,“ Appearances.csv”,“ AwardsManagers.csv”,“ AwardsPlayers.csv”,“ AwardsShareManagers.csv”,“ AwardsSharePlayers.csv”,“ Batting.csv”,“ BattingPost.csv”,“ Fielding.csv”,“ FieldingOF.csv”,“ FieldingPost.csv”,“ HallOfFame”。 csv”,“ Managers.csv”,“ ManagersHalf.csv”,“ Master.csv”,“ Pitching.csv”,“ PitchingPost.csv”,“ readme2013.txt”,“ Salaries.csv”,“ Schools.csv” ]在[4]中:
表名= zf.namelist()
tablenames [tablenames.index('Salaries.csv')]
出[4]:
'Salaries.csv'
Selanjutnya,kita ekstrak 文件 “ Salaries.csv” dari文件夹zip 。 Kita gunakan 函数 zf.open()取消显示文件,文件名pd.read_csv()取消返回DataFrame 熊猫 。 Tabel tersebut menyimpan gaji yang berlabel tahun,pemain,liga,dan tim。
在[5]中:
工资= pd.read_csv(zf.open(tablenames [tablenames.index('Salaries.csv')])))
print(“薪金行数:%i”%salaries.shape [0])
salaries.head()
出[5]:
薪资行数:23956
yearID teamID lgID playerID薪水
0 1985 BAL AL murraed02 1472819
1 1985年BAL AL lynnfr01 1090000
2 1985年BAL AL ripkeca01 800000
3 1985年BAL AL lacyle01 725000
1985年4月BAL AL flanami01 641667
Terakhir,kita ekstrak 文件 ‘Teams.csv’dari文件夹zip 。 Tabel tersebut mempunyai信息, 身份证 , 姓名 , 姓名 dan jumlah kemenangan W。
在[6]中:
团队= pd.read_csv(zf.open(tablenames [tablenames.index('Teams.csv')])))
print(“团队行数:%i”%team.shape [0])
team.head()
team [['yearID','teamID','name','W']]。head()
出[6]:
队数:2745
yearID teamID名称W
0 1871 PH1费城田径21
1 1871 CH1芝加哥白丝袜19
2 1871 BS1波士顿红袜20
3 1871年WS3华盛顿奥运会15
4 1871 NY2纽约Mutuals 16
兰卡2
Buat ringkasan DataFrame 薪金总计gaji tiap tahun。 Tampilkan 头 DataFrame ringkasan yang baru。
在[7]中:
totSalary = salaries.groupby(['yearID','teamID'],as_index = False).sum()
totSalary.head()
出[7]:
yearID teamID薪水
0 1985 ATL 14807000
1 1985年BAL 11560712
1985年2月BOS 10897560
1985年3月3日CAL 14427894
1985年第4号CHA 9846178
兰卡3
Gabungkan DataFrame 工资工资薪金工资数据团队工资数据薪水每单位工资总额。 Tampilkan 负责人 DataFrame gabungan yang baru。
Untuk menggabungkan 2 DataFrame ,gunakan 函数 合并 数据模型在 yang berisi nama kolom(harus ditemukan di kedua DataFrame )上如何运行 (gabungan,irisan,hanya baris dari dari 1 数据集 atau yang lain)。 Gunakan争论者how =“内部” unt == ”yearID’,’teamID’] ,nama kolom yearID dan teamID ditemukan di kedua DataFrame 。
在[7]中:
join = pd.merge(totSalary,球队,on = ['yearID','teamID'])
join [['yearID','teamID','name','salary','W']]。head()
出[7]:
yearID teamID名称薪水W
0 1985 ATL亚特兰大勇士队14807000 66
1 1985年巴尔的摩巴尔的摩金莺11560712 83
2 1985年BOS波士顿红袜10897560 81
3 1985年CAL加州天使14427894 90
4 1985 CHA芝加哥白袜9846178 85
兰卡4
Bagaimana kita akan menampilkan relasi antara total kemenangan dengan total gaji pada suatu tahun吗? 剧情 seperti apa yang sebaiknya digunakan? Pilih 情节奥克兰皮达情节 。 Tampilkan情节dari beberapa tahun。 Tahun berapa dapat dideteksi keunggulan kompetitif dari tim 棒球奥克兰杨门格纳坎数据科学 ? Dan Kapan Berakhirnya?
在[8]中:
teamName ='OAK'
years =年的np.arange(2000,2004):
df = join [join ['yearID'] == yr]
plt.scatter(df ['salary'] / 1e6,df ['W'])
plt.title('年份中的胜利与薪水'+ str(yr))
plt.xlabel('工资总额(百万)')
plt.ylabel('Wins')
plt.xlim(0,180)
ylim(30,130)
plt.grid()
plt.annotate(teamName,
xy =(df ['salary'] [df ['teamID'] == teamName] / 1e6,df ['W'] [df ['teamID'] == teamName]),
xytext =(-20,20),textcoords ='offset points',ha ='right',va ='bottom',
bbox = dict(boxstyle ='round,pad = 0.5',fc ='yellow',alpha = 0.5),
arrowprops = dict(arrowstyle ='->',facecolor ='black',connectionstyle ='arc3,rad = 0'))
plt.show()
出[8]:
奥克兰,北卡罗来纳州立大学篮球协会2001–2003年奥克兰,卡伦纳·帕塔恩大学奥克兰校区,奥克兰分校,丹尼尔·蒂姆·莱恩,塔皮·库库普,安格拉·达兰·朱姆拉·基梅兰南。
Bersambung…