最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python入門之使用pandas分析excel數(shù)據(jù)

 更新時間:2021年05月12日 11:08:23   作者:choas-god  
這篇文章主要給大家介紹了關(guān)于Python入門學(xué)習(xí)之使用pandas分析excel數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.問題

在python中,讀寫excel數(shù)據(jù)方法很多,比如xlrd、xlwt和openpyxl,實(shí)際上限制比較多,不是很方便。比如openpyxl也不支持csv格式。有沒有更好的方法?

2.方案

更好的方法可以使用pandas,雖然pandas不是專門處理excel數(shù)據(jù),但處理excel數(shù)據(jù)確實(shí)很方便。

本文使用excel的數(shù)據(jù)來自網(wǎng)絡(luò),數(shù)據(jù)內(nèi)容如下:

2.1.安裝

使用pip進(jìn)行安裝。

pip3 install pandas

導(dǎo)入pandas:

import pandas as pd

下文使用pd進(jìn)行pandas的操作。

2.2.讀寫文件

讀取文件,比如excel,csv文件

# df是pandas.core.frame.DataFrame類型
df = pd.read_excel('./data/2020-suv.xlsx')

# read_csv可以指定分割符,編碼方式等
df2 = pd.read_csv('./data/2020-suv.csv')

寫入文件:

df.to_excel('./data/2020-suv-new.xlsx')
df.to_csv('./data/2020-suv-new.csv')

2.3.數(shù)據(jù)操作

all_cols = df.columns
print(all_cols)

# 輸出,df.columns并非list類型
Index(['銷量排名', '車系', '官方價', '從屬品牌', '1-12月銷量'], dtype='object')

# df.columns并非list類型,可以轉(zhuǎn)化list
cols = list(df.columns)

獲取列數(shù)據(jù)

col_data = df[u'車系']
mul_col_data = df[ [u'車系', u'1-12月銷量'] ]

獲取行數(shù)據(jù)

row_data = df.iloc[row_index]

獲取所有行數(shù)據(jù)

all_data = df.values

切片獲取多行數(shù)據(jù)

mul_row_data = df.iloc[2:4]

獲取單元個數(shù)據(jù)

cell_data = df.iloc[row_index][col_index]

2.4.數(shù)據(jù)篩選

Excel數(shù)據(jù)篩選比較實(shí)用,用pandas同樣可以,并且篩選代碼保存后,下次可以直接使用。

某個字段包含指定值

# 包含一個值,na表示是否需要填充,case表示是否區(qū)分大小寫,更強(qiáng)大的是contains還支持正則表達(dá)式
sub_df = df[ df[col_name].str.contains('key1', na=False, case=False) ]

# 包含多個值,多次調(diào)用即可
sub_df1 = df[ df[col_name].str.contains('key1', na=False, case=False) ]
sub_df2 = sub_df1[ sub_df1[col_name].str.contains('key2', na=False, case=False) ]

# 包含多個值(或)
sub_df = df[ df[col_name].str.contains('key1|key2|key3', na=False, case=False) ]

# 不包含,也就是非的過濾
sub_df = df[ ~df[col_name].str.contains('key1', na=False, case=False) ]

上述操作,都假設(shè)字段類型是字符串類型,不然會拋異常??梢酝ㄟ^以下的方法,可以判斷字段是否是字符類型:

pd.api.types.is_string_dtype(df[u'車系'])

# 其他類型也有類似的函數(shù),可以用dir查看有哪些類型判斷
print(dir(pd.api.types))

# 可以通過dtypes查看字段的類型
pd.dtypes
pd[u'1-12月銷量'].dtypes

條件過濾

# 大于
df[ df['1-12月銷量'] > 50000 ] .values

# 相等
df[ df['1-12月銷量'] == 50000 ] .values

2.5.數(shù)據(jù)寫入

添加一行數(shù)據(jù):

# 插在最后,row_datas是list
df.loc[len(df.index)] = row_datas

插入一列數(shù)據(jù)

# 在指定列前面插上一列數(shù)據(jù)
df.insert( col_index, col_name, col_datas, True)

更新某個單元值

df.iloc[row][col] = u'new-data'

2.6.數(shù)據(jù)刪除

刪除一列

df2 = df.drop('官方價', axis=1, inplace=False)
print(df2)

# 輸出
銷量排名           車系   從屬品牌  1-12月銷量
0       1         哈弗H6     哈弗   376864
1       2       本田CR-V     本田   249983
2       3           博越   吉利汽車   240811
3       4          途觀L     大眾   178574
4       5  長安CS75 PLUS   長安汽車   266824
..    ...          ...    ...      ...
282   283      北汽新能源EX  北汽新能源      879
283   284        奔騰X40     奔騰    20412
284   285    標(biāo)致2008新能源     標(biāo)致       37
285   286       獵豹CS10   獵豹汽車       14
286   287         森雅R7     一汽        1

[287 rows x 4 columns]

刪除一行

df3 = df.drop(2, axis=0, inplace=False)
print(df3)

# 輸出
     銷量排名           車系           官方價   從屬品牌  1-12月銷量
0       1         哈弗H6   9.80-15.49萬     哈弗   376864
1       2       本田CR-V  16.98-27.68萬     本田   249983
3       4          途觀L  21.58-28.58萬     大眾   178574
4       5  長安CS75 PLUS  10.69-15.49萬   長安汽車   266824
5       6       本田XR-V  12.79-17.59萬     本田   168272
..    ...          ...           ...    ...      ...
282   283      北汽新能源EX  18.39-20.29萬  北汽新能源      879
283   284        奔騰X40          暫無報價     奔騰    20412
284   285    標(biāo)致2008新能源  16.60-18.80萬     標(biāo)致       37
285   286       獵豹CS10   7.98-11.98萬   獵豹汽車       14
286   287         森雅R7   6.69-10.69萬     一汽        1

[286 rows x 5 columns]

3.討論

pandas庫用于大數(shù)據(jù)分析和AI,庫本身比較復(fù)雜,很多功能未必用得上,日常使用可以簡單的封裝,能夠讀、寫、搜索excel或csv數(shù)據(jù),pandas比起專門操作excel的庫要好用得多,簡單封裝一下即可。詳細(xì)的使用說明,可以參見pandas官方文檔。

https://pandas.pydata.org/docs/user_guide/index.html#user-guide

總結(jié)

到此這篇關(guān)于Python入門學(xué)習(xí)之使用pandas分析excel數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python用pandas分析excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

福泉市| 女性| 西峡县| 仙游县| 昌平区| 吉首市| 腾冲县| 新闻| 三江| 河西区| 鲁甸县| 阳山县| 日照市| 通化县| 尼玛县| 余干县| 敦化市| 太仆寺旗| 呼伦贝尔市| 尼玛县| 潜山县| 澳门| 卢龙县| 阆中市| 宿迁市| 定日县| 沅陵县| 同心县| 临猗县| 孟州市| 葵青区| 阳高县| 稻城县| 尼勒克县| 东阳市| 百色市| 青海省| 大余县| 聂拉木县| 肇东市| 都昌县|