您好,登錄后才能下訂單哦!
本篇內容主要講解“Python為什么需要Pandas的DataFrame類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python為什么需要Pandas的DataFrame類型”吧!
1. 問題描述
假設現在有這樣的一個需求,需要在某電影網站上采集基本的電影數據,字段有電影名稱、電影URL連接地址以及電影的評分三個字段。試想一下應該選擇什么樣的數據類型來存儲這些數據?
首先大家可能想到的是list()類型,很快就會寫出下面的代碼:
videos = []
item = ['哪吒之魔童降世', 'http://www.videos.com', '9.9']
videos.append(item)
# [['哪吒之魔童降世', 'http://www.videos.com', '9.9']]
雖然能夠存儲這些數據,但是想要基于這些數據進行某些查找和修改操作,將會變得非常麻煩,如按評分排序、超找包含特定關鍵字的記錄等。對于numpy.ndarray()來說,也是面臨同樣的問題。
上面介紹的這種形式的數據,是一種常見的需要存儲和進行處理的一些數據,但是list()和numpy.ndarray()都無法很好的處理這些數據,因此需要一種新的、更加方便的數據類型,而這種數據類型就是pandas給我們提供的DataFrame類型。
2. Pandas的DataFrame類型
Pandas是Python開發中常用的第三方庫,DataFrame是其中最常用的數據類型,是一種存放數據的容器。而在python中存放數據常見的有list()以及numpy中功能更加強大的numpy.ndarray(),但是為什么還要使用DataFrame呢?
df = pandas.DataFrame(columns=['video_name', 'video_url', 'video_score'])for i in range(1,112): url = 'https://www.meiju.net/search.php?page={}&searchtype=5&tid=2'.format(i) soup = BeautifulSoup(requests.get(url).content, 'html.parser') for item in soup.select('div.hy-video-list li > a'): row = edict() row.video_name = item['title'] row.video_url = item['href'] score_tag = item.select_one('span.score') if score_tag is not None: row.video_score = score_tag.text df = df.append(row, ignore_index=True)
有了DataFrame這個類型之后,我們可以做什么呢?
可以按照評分對數據進行快速排序:
df.sort_values('video_score', ascending=False)
除了上面介紹的之外,還有很多更加強大的功能和方法,后續文章將根據一些案例持續進行介紹。
3. 結語
到此,相信大家對“Python為什么需要Pandas的DataFrame類型”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。