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

Python入門之使用pandas分析excel數據

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

1.問題

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

2.方案

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

本文使用excel的數據來自網絡,數據內容如下:

2.1.安裝

使用pip進行安裝。

pip3 install pandas

導入pandas:

import pandas as pd

下文使用pd進行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.數據操作

all_cols = df.columns
print(all_cols)

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

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

獲取列數據

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

獲取行數據

row_data = df.iloc[row_index]

獲取所有行數據

all_data = df.values

切片獲取多行數據

mul_row_data = df.iloc[2:4]

獲取單元個數據

cell_data = df.iloc[row_index][col_index]

2.4.數據篩選

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

某個字段包含指定值

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

# 包含多個值,多次調用即可
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) ]

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

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

# 其他類型也有類似的函數,可以用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.數據寫入

添加一行數據:

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

插入一列數據

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

更新某個單元值

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

2.6.數據刪除

刪除一列

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    標致2008新能源     標致       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    標致2008新能源  16.60-18.80萬     標致       37
285   286       獵豹CS10   7.98-11.98萬   獵豹汽車       14
286   287         森雅R7   6.69-10.69萬     一汽        1

[286 rows x 5 columns]

3.討論

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

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

總結

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

相關文章

  • Python模板的使用詳細講解

    Python模板的使用詳細講解

    Django 模板是使用 Django 模板語言標記的一個文本文檔或Python字符串。模板引擎可以識別和解釋一些構造。主要是變量和標簽。模板是通過上下文來渲染的。渲染用變量的值替換變量,變量的值在上下文中查找,并執(zhí)行標簽。其他的一切都按原樣輸出
    2022-10-10
  • Python容器類型轉換的3種方法實例

    Python容器類型轉換的3種方法實例

    使用Python我們可以輕松地將數據轉換成不同的類型,下面這篇文章主要給大家介紹了關于Python容器類型轉換的3種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Qt5.14 與 OpenCV4.5 教程之圖片增強效果

    Qt5.14 與 OpenCV4.5 教程之圖片增強效果

    這篇文章主要介紹了Qt5.14 與 OpenCV4.5 教程之圖片增強效果的實現(xiàn),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • Python實現(xiàn)機器學習算法的分類

    Python實現(xiàn)機器學習算法的分類

    今天給大家整理了Python實現(xiàn)機器學習算法的分類的文章,文中有非常詳細的代碼示例,對正在學習的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Python輸入的多種情況超詳細解讀(單行、多行及數組)

    Python輸入的多種情況超詳細解讀(單行、多行及數組)

    對于 Python 來說有多種方式可以輸入數據,下面這篇文章主要給大家介紹了關于Python輸入的多種情況超詳細解讀,分別是單行、多行及數組,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Python批量實現(xiàn)Word/EXCEL/PPT轉PDF

    Python批量實現(xiàn)Word/EXCEL/PPT轉PDF

    在日常辦公和文檔處理中,有時我們需要將多個Word文檔、Excel表格或PPT演示文稿轉換為PDF文件,本文將介紹如何使用Python編程語言批量實現(xiàn)將多個Word、Excel和PPT文件轉換為PDF文件,需要的可以參考下
    2023-09-09
  • django drf框架中的user驗證以及JWT拓展的介紹

    django drf框架中的user驗證以及JWT拓展的介紹

    這篇文章主要介紹了django drf框架中的user驗證以及JWT拓展的介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 對于Python的框架中一些會話程序的管理

    對于Python的框架中一些會話程序的管理

    這篇文章主要介紹了對于Python的框架中一些會話程序的管理,會話的實現(xiàn)是Python框架的基本功能,本文主要講述了對其的一些管理維護要點,需要的朋友可以參考下
    2015-04-04
  • 使用python Django做網頁

    使用python Django做網頁

    python Django網頁的四個步驟,很簡單的圖文學習。學習python Django做網頁的第一步。
    2013-11-11
  • 解決安裝torch后,torch.cuda.is_available()結果為false的問題

    解決安裝torch后,torch.cuda.is_available()結果為false的問題

    這篇文章主要介紹了解決安裝torch后,torch.cuda.is_available()結果為false的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論