欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Pandas的簡單使用教程

 更新時間:2021年08月16日 15:11:04   作者:橘崽崽啊  
Pandas 是python的一個數(shù)據(jù)分析包,最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源出來,目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)team繼續(xù)開發(fā)和維護,今天通過本文給大家介紹Python Pandas的簡單使用教程,感興趣的朋友一起看看吧

一、  Pandas簡介

1、Python Data Analysis Library 或 pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務而創(chuàng)建的。Pandas 納入了大量庫和一些標準的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會發(fā)現(xiàn),它是使Python成為強大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。

2、Pandas 是python的一個數(shù)據(jù)分析包,最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源出來,目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)team繼續(xù)開發(fā)和維護,屬于PyData項目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,pandas為時間序列分析提供了很好的支持。 Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。panel data是經(jīng)濟學中關于多維數(shù)據(jù)集的一個術語,在Pandas中也提供了panel的數(shù)據(jù)類型。

3、數(shù)據(jù)結構:

Series:一維數(shù)組,與Numpy中的一維array類似。二者與Python基本的數(shù)據(jù)結構List也很相近,其區(qū)別是:List中的元素可以是不同的數(shù)據(jù)類型,而Array和Series中則只允許存儲相同的數(shù)據(jù)類型,這樣可以更有效的使用內(nèi)存,提高運算效率。

Time- Series:以時間為索引的Series。

DataFrame:二維的表格型數(shù)據(jù)結構。很多功能與R中的data.frame類似。可以將DataFrame理解為Series的容器。以下的內(nèi)容主要以DataFrame為主。

Panel :三維的數(shù)組,可以理解為DataFrame的容器。

Pandas 有兩種自己獨有的基本數(shù)據(jù)結構。讀者應該注意的是,它固然有著兩種數(shù)據(jù)結構,因為它依然是 Python 的一個庫,所以,Python 中有的數(shù)據(jù)類型在這里依然適用,也同樣還可以使用類自己定義數(shù)據(jù)類型。只不過,Pandas 里面又定義了兩種數(shù)據(jù)類型:Series 和 DataFrame,它們讓數(shù)據(jù)操作更簡單了。

二、Python Pandas的使用

修改列數(shù)據(jù):

df['price']=df['price'].str.replace('人均','') # 刪除多余文字
df['price']=df['price'].str.split("¥").str[-1] # 分割文本串
df['price']=df['price'].str.replace('-','0') # 替換文本
df['price']=df['price'].astype(int) # 文本轉整型

把pandas轉換int型為str型的方法

切分列數(shù)據(jù):

df['kw']=df['commentlist'].str.split().str[0].str.replace("口味",'')
df['hj']=df['commentlist'].str.split().str[1].str.replace("環(huán)境",'')
df['fw']=df['commentlist'].str.split().str[2].str.replace("服務",'')

注意:pandas中操作如果不明確指定參數(shù),則不會修改原數(shù)據(jù),而是返回一個新對象。

刪除列數(shù)據(jù):

del df['commentlist']

排序列數(shù)據(jù):

df.sort_values(by=['kw','price'],axis=0,ascending=[False,True],inplace=True) 

注意:排序前先用astype轉換正確的類型,如str、int或float

重新設置索引列標簽順序:

df.columns=['類型','店鋪名稱','點評數(shù)量','星級','人均消費','店鋪地址','口味','環(huán)境','服務']

打印前幾行數(shù)據(jù):

print(df.loc[:,['店鋪名稱','口味','人均消費']].head(6))
# 或者 # print(df.iloc[0:6,[1,6,4]]) # 前6行(整數(shù))
# 但不能是 # print(df.loc[0:6,['店鋪名稱','口味','人均消費']]) # 從索引0到索引6的行(對象)

http://www.dbjr.com.cn/article/155602.htm

綜合示例:

圖例:

結果:

要求:

(1)對該數(shù)據(jù)中的comment、price進行數(shù)據(jù)清洗整理,‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(2)將commentlist數(shù)據(jù)拆分為“口味”、“環(huán)境”和“服務”三列后再進行數(shù)據(jù)清洗整理,‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(3)去除commentlist列數(shù)據(jù)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(4)將此數(shù)據(jù)按“口味”降序、“人均消費”升序進行排序,‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(5)輸出排序后前6條數(shù)據(jù)中的“店鋪名稱”、“口味”和“人均消費”三列數(shù)據(jù)。

代碼:

import pandas as pd 
df=pd.read_csv('spdata.csv',encoding='gbk')  #讀入文件,編碼為gbk # 注意編碼,重要

#對數(shù)據(jù)進行清洗
df['comment']=df['comment'].str.replace('條點評','')
df['price']=df['price'].str.replace('人均','')
df['price']=df['price'].str.split("¥").str[-1]
df['price']=df['price'].str.replace('-','0')
df['price']=df['price'].astype(int)
df['kw']=df['commentlist'].str.split().str[0].str.replace("口味",'')
df['hj']=df['commentlist'].str.split().str[1].str.replace("環(huán)境",'')
df['fw']=df['commentlist'].str.split().str[2].str.replace("服務",'')
del df['commentlist']

#按口味降序,人均消費升序進行排序
df.sort_values(by=['kw','price'],axis=0,ascending=[False,True],inplace=True) 
#重新設置列索引標簽
df.columns=['類型','店鋪名稱','點評數(shù)量','星級','人均消費','店鋪地址','口味','環(huán)境','服務']

print(df.loc[:,['店鋪名稱','口味','人均消費']].head(6))

方法二:

import pandas as pd
df=pd.read_csv('spdata.csv',encoding='gbk')

df['comment']=df['comment'].str.replace('條點評','')
df['price']=df['price'].str.replace('人均','').str.replace('¥','').str.replace('-','0').str.replace(' ','').astype(int)
df[['kw','hj','fw']]=df['commentlist'].str.replace('口味','').str.replace('環(huán)境','').str.replace('服務','').str.split(expand=True).astype(float) # expand將普通的列表轉為DataFrame對象
del df['commentlist']

df.sort_values(by=['kw','price'],axis=0,ascending=[False,True],inplace=True) # 注意inplace=True
df.columns=['類型','店鋪名稱','點評數(shù)量','星級','人均消費','店鋪地址','口味','環(huán)境','服務']

print(df[['店鋪名稱','口味','人均消費']].head(6))

注意:df.str.split是列表,加了expand=True之后才是DataFrame對象,或者用.str[x]提取某一列,注意不是df.str.split()[x]而是df.str.split().str[x],前者是對list(二維)操作,后者是對DataFrame操作(取某一列)

到此這篇關于Python Pandas的簡單使用教程的文章就介紹到這了,更多相關Python Pandas使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pandas-resample按時間聚合實例

    pandas-resample按時間聚合實例

    今天小編就為大家分享一篇pandas-resample按時間聚合實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python手機號碼歸屬地查詢代碼

    Python手機號碼歸屬地查詢代碼

    這篇文章主要介紹了Python手機號碼歸屬地查詢代碼的相關資料,需要的朋友可以參考下
    2016-05-05
  • 淺談Python的條件判斷語句if/else語句

    淺談Python的條件判斷語句if/else語句

    這篇文章主要介紹了Python的條件判斷語句if/else語句,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • python調(diào)用staf自動化框架的方法

    python調(diào)用staf自動化框架的方法

    今天小編就為大家分享一篇python調(diào)用staf自動化框架的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python openpyxl使用方法詳解

    python openpyxl使用方法詳解

    這篇文章主要介紹了python openpyxl使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • PyTorch實現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識別詳情

    PyTorch實現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識別詳情

    這篇文章主要介紹了PyTorch實現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識別詳情,文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • Python編程深度學習繪圖庫之matplotlib

    Python編程深度學習繪圖庫之matplotlib

    今天小編就為大家分享一篇關于Python編程深度學習繪圖庫之matplotlib,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 教你如何使用Python Tkinter庫制作記事本

    教你如何使用Python Tkinter庫制作記事本

    讓我們看看如何使用 Tkinter 在 Python 中創(chuàng)建一個簡單的記事本.這個記事本 GUI 將包含各種菜單,如文件和編輯,使用這些菜單可以完成保存文件、打開文件、編輯、剪切和粘貼等所有功能,需要的朋友可以參考下
    2021-06-06
  • 使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程

    使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程

    這篇文章主要介紹了使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程,包括一些簡單的輸入輸出和郵件功能,需要的朋友可以參考下
    2015-04-04
  • python3使用matplotlib繪制條形圖

    python3使用matplotlib繪制條形圖

    這篇文章主要為大家詳細介紹了python3使用matplotlib繪制條形圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論