この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
広告
posted by fanblog
2019年10月27日
【3日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 29%
順調に進めている。
■セクション4:Pandas入門
Series, Frameの基本の勉強。
相変わらず、2倍速で講義は聞いて、概要をメモしてそれをjupyter notebookで再現する作業を繰り返している。
講義を聞いた時はできる!と思っても、いざ、手を動かすとまったくイメージが違い、エラーが出まくる。自分で書くので習得している感覚があるのが良い。
それにしても、Series, DataFrameはたくさん機能がある。実際どのぐらいの違いがあるのか?
ということでこれらのattribute, methodsを抽出するプログラムを書いてみた。
import requests
from pandas import Series
infolist.append({
'url':' https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html',
'name':"DataFrame",
'index':[1,2]
})
infolist.append({
'url':' https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html',
'name':"Series",
'index':[1,3] #Seriesのページはemptyの表があるのでそれをスキップするため、1,3とした
})
for info in infolist:
print(info['url'])
result = requests.get(info['url'])
c = result.content
processed =bs4.BeautifulSoup(c,'lxml')
print(info['name'])
id_name = 'pandas-' + info['name'].lower()
summary = processed.find_all('div',{'class':'section','id':id_name})
tables = summary[0].find_all('table')
cat = Series(info['index'], index={"Attribute", "Methods"})
for index in cat.index:
rows = tables[cat[index]].find_all('tr')
data = []
for row in rows:
cells = row.find_all('td')
t = cells[0].find(text=True)
data.append(t)
print("{} : count:{}".format(index,len(data)))
for i in data:
print(i)
print("")
なるほど、Seriesのほうが属性がちょっと多くて、メソッドは同じ数だけあるのか。
Webスクレイピングの復習になるし、ちょっと無理やりだがSeriesも使ってみた。
Series:
属性:34
メソッド:201
DataFrame:
属性:19
メソッド:201
■次は
セクション4:Pandas入門のつづきを学ぶ。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング