一、Pandas庫簡介
Pandas是一個用於數據處理和數據分析的強大Python庫,它提供了許多高效的數據結構和數據分析工具,其中最核心的數據結構是Series和DataFrame。Series是一種一維數組結構,而DataFrame則是一種二維表格結構。
Pandas還可以用於數據導入、數據清洗、數據操作、數據可視化等任務。在數據科學、金融、經濟、社會科學等領域中,Pandas已經成為了必不可少的工具。
二、創建Dataframe的兩種方式
在Pandas中,我們可以使用兩種方式創建一個DataFrame,一種是從Python字典創建,另一種是從外部數據源導入。當然,這裡我們只介紹第一種方式,即從Python字典創建DataFrame。
創建一個DataFrame的基本語法如下:
import pandas as pd # 使用字典創建DataFrame df = pd.DataFrame({'列名1': [數據1, 數據2, 數據3, ...], '列名2': [數據1, 數據2, 數據3, ...], '列名3': [數據1, 數據2, 數據3, ...], ... })
其中,第一個大括弧內的每一個鍵-值對都代表著DataFrame的一列,鍵表示列名,值表示該列的數據。注意:各列數據的長度必須一致。
三、創建Dataframe的例子
我們通過一個例子來演示如何使用Python的Pandas庫創建一個DataFrame:
import pandas as pd # 使用字典創建DataFrame df = pd.DataFrame({'姓名': ['張三', '李四', '王五', '趙六'], '年齡': [18, 22, 25, 30], '性別': ['男', '女', '男', '女'], '成績': [85.6, 92.3, 78.9, 87.5] }) # 輸出DataFrame print(df)
輸出結果如下:
姓名 年齡 性別 成績 0 張三 18 男 85.6 1 李四 22 女 92.3 2 王五 25 男 78.9 3 趙六 30 女 87.5
四、DataFrame的基本操作
創建好DataFrame之後,我們可以進行各種操作,包括索引、切片、篩選、統計等。這裡我們對其中的幾個常用操作進行介紹。
五、DataFrame的索引
Pandas中,我們可以通過loc、iloc、ix、at、iat等方式對DataFrame進行索引。這些方法分別代表了不同的索引方式,比較常用的是loc和iloc。
loc方法的基本語法如下:
df.loc[行名,列名]
其中,行名和列名可以是單個值,也可以是列表形式的多個值。例如,我們要查詢姓名為「李四」的成績和性別,代碼如下:
# 使用loc方法索引 print(df.loc[df['姓名'] == '李四', ['成績', '性別']])
輸出結果如下:
成績 性別 1 92.3 女
iloc方法的基本語法如下:
df.iloc[行號,列號]
與loc類似,行號和列號也可以是單個值或列表形式的多個值。例如,我們要查詢第三行第二列的數據,代碼如下:
# 使用iloc方法索引 print(df.iloc[2, 1])
輸出結果為25。
六、DataFrame的求和和均值
我們可以使用sum方法對DataFrame數據進行求和,也可以使用mean方法求出DataFrame數據的平均值。
例如,我們要求出成績列的總和和平均值,代碼如下:
# 求和 sum_score = df['成績'].sum() print('成績總和為:', sum_score) # 求平均值 mean_score = df['成績'].mean() print('成績平均值為:', mean_score)
輸出結果為:
成績總和為: 344.3 成績平均值為: 86.075
七、DataFrame的排序
我們可以使用sort_values方法對DataFrame數據進行排序。
例如,我們要按照年齡升序排序,代碼如下:
# 按照年齡升序排序 df = df.sort_values(by='年齡') # 輸出排序後的DataFrame print(df)
輸出結果為:
姓名 年齡 性別 成績 0 張三 18 男 85.6 1 李四 22 女 92.3 2 王五 25 男 78.9 3 趙六 30 女 87.5
八、小結
使用Python的Pandas庫創建Dataframe是數據分析和數據處理中的一個非常重要的環節。通過本文的介紹,您可以了解到Pandas庫的基本情況、DataFrame的創建方式、DataFrame的基本操作以及一些常用函數的使用方法。當然,Pandas庫功能還非常強大,您可以自行查找相關資料進行學習。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309675.html