Analisis数据Eksplorasi-Bagian 1

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)。

数据

Untuk latihan kali ini,digunakan 2个基本数据:

  1. 基础数据棒球肖恩·拉曼(Sean Lahman)扬·泰达帕特(Stata)于1871年在桑帕(Sampai)2013,迪坦巴(Ditambah)统计学,拉帕甘(Klasemen),蒂姆·塔姆(catatanik stat),加丹坦·马纳杰(catatan manajer),数据帕斯卡·穆西姆(dans la-lain)。 Selebihnya,双歧杆菌dokumentasinya。
  2. Gapminder Adalah Sumber Yang Bagus,Terdapat Lebih Dari 500个数据集,国民生产总值,指标Negara Seperti Pendapatan,GDP,Dan harapan hidup。

图娟

Pada tulisan ini,北阿坎贝拉哈尔:

  1. Memuat 文件 CSV dari网站。
  2. python的Membuat 函数
  3. Membuat dan statistik ringkasan untuk analisis数据eksplorasi seperti 直方图箱形图和dan 散点图

图书馆杨digunakan

  1. NumPy ,untuk 数组
  2. 熊猫 ,untuk 数据框
  3. 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…

下载拉曼的棒球数据库

数据库的更新版本包含从1871年到2017年的完整击球和投球统计数据,以及实地调查…

www.seanlahman.com

数据

下表列出了Gapminder World中显示的所有指标。 单击指标名称或数据提供者…

www.gapminder.org