亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Python Pandas的簡單使用教程

瀏覽:80日期:2022-07-28 18:54:12
一、Pandas簡介

1、Python Data Analysis Library 或 pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas 納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會發(fā)現(xiàn),它是使Python成為強(qiáng)大而高效的數(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ā)和維護(hù),屬于PyData項(xiàng)目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,pandas為時間序列分析提供了很好的支持。 Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。panel data是經(jīng)濟(jì)學(xué)中關(guān)于多維數(shù)據(jù)集的一個術(shù)語,在Pandas中也提供了panel的數(shù)據(jù)類型。

3、數(shù)據(jù)結(jié)構(gòu):

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

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

DataFrame:二維的表格型數(shù)據(jù)結(jié)構(gòu)。很多功能與R中的data.frame類似??梢詫ataFrame理解為Series的容器。以下的內(nèi)容主要以DataFrame為主。

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

Pandas 有兩種自己獨(dú)有的基本數(shù)據(jù)結(jié)構(gòu)。讀者應(yīng)該注意的是,它固然有著兩種數(shù)據(jù)結(jié)構(gòu),因?yàn)樗廊皇?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) # 文本轉(zhuǎn)整型

把pandas轉(zhuǎn)換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('服務(wù)',’’)

注意: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轉(zhuǎn)換正確的類型,如str、int或float

重新設(shè)置索引列標(biāo)簽順序:

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

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

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

https://www.jb51.net/article/155602.htm

綜合示例:

圖例:

Python Pandas的簡單使用教程

結(jié)果:

Python Pandas的簡單使用教程

要求:

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

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

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

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

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

代碼:

import pandas as pd df=pd.read_csv(’spdata.csv’,encoding=’gbk’) #讀入文件,編碼為gbk # 注意編碼,重要#對數(shù)據(jù)進(jìn)行清洗df[’comment’]=df[’comment’].str.replace(’條點(diǎn)評’,’’)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('服務(wù)',’’)del df[’commentlist’]#按口味降序,人均消費(fèi)升序進(jìn)行排序df.sort_values(by=[’kw’,’price’],axis=0,ascending=[False,True],inplace=True) #重新設(shè)置列索引標(biāo)簽df.columns=[’類型’,’店鋪名稱’,’點(diǎn)評數(shù)量’,’星級’,’人均消費(fèi)’,’店鋪地址’,’口味’,’環(huán)境’,’服務(wù)’]print(df.loc[:,[’店鋪名稱’,’口味’,’人均消費(fèi)’]].head(6))

方法二:

import pandas as pddf=pd.read_csv(’spdata.csv’,encoding=’gbk’)df[’comment’]=df[’comment’].str.replace(’條點(diǎn)評’,’’)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(’服務(wù)’,’’).str.split(expand=True).astype(float) # expand將普通的列表轉(zhuǎn)為DataFrame對象del df[’commentlist’]df.sort_values(by=[’kw’,’price’],axis=0,ascending=[False,True],inplace=True) # 注意inplace=Truedf.columns=[’類型’,’店鋪名稱’,’點(diǎn)評數(shù)量’,’星級’,’人均消費(fèi)’,’店鋪地址’,’口味’,’環(huán)境’,’服務(wù)’]print(df[[’店鋪名稱’,’口味’,’人均消費(fèi)’]].head(6))

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产欧美精品 | 国产日韩在线视频 | 天天伊人网 | 国产综合第一页在线视频 | 99在线观看视频免费精品9 | 中文字幕在线日韩 | 欧美性生交大片 | 国产三级日本三级美三级 | 日批网站在线观看 | 日本一本高清视频 | 日韩中文在线视频 | 尤物在线观看视频 | 黄色直接观看 | 黄色草逼| 日韩大片在线播放 | 91视频青青| 娇小性色xxxxx中文 | 久久国产一区二区 | 国产私拍视频 | 亚洲国产日韩欧美 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 国产三级精品在线 | 美女被啪全免视频软件 | 免费一级a毛片在线播放视 免费一级a毛片免费观看欧美大片 | 精品一久久香蕉国产线看观 | 久久99精品久久久久久黑人 | 中文字幕一区婷婷久久 | 妖精永久免费观看 | 美国一级特级毛片片aa视频 | 亚洲高清综合 | 毛片基地免费 | 国产成人精品久久综合 | 日韩一级黄 | 黄色片在线观看网站 | 中文字幕在线色 | 中文字幕在线不卡精品视频99 | aa一级片| 草逼视频网址 | 国产妞干网| 在线观看黄色片网站 | 乡下女色又黄一级毛片 |