任何做過資料分析的工程師,都一定聽過鼎鼎大名的Pandas,Pandas對於處理大量的資料可以提供靈活性和高效能的特性,重點是操作人性化,可以把它想像成python版Excel,Pandas支援從各種文件格式(TXT 、CSV、JSON、SQL、Excel)來導入資料。Pandas有三種主要的類別,其中兩種我們特別常用,分別是Series(序列)和DataFrame(資料表),今天我們先從最基本也是最簡單的Series說起吧
請在終端機底下輸入這個,謝謝pip install pandas
老樣子,像這樣
import pandas as pd
如同numpy的簡稱,pd是世俗公認的pandas簡稱
Series是Pandas最基礎的類別,簡單來說Series就是一條資料,他說一維的資料型態,長的像這樣
|索引|1|2|3|4|5|6|7|
|---|---|---|---|---|---|---|
|資料|33|23|66|11|35|42|88|
我們使用列表來建立Series
# 載入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表來建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
print(s)
"""
印出
0 33
1 23
2 66
3 11
4 35
5 42
6 88
dtype: int64
"""
# 存取
print(s[4])
# 印出 35
# 載入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表來建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
# 查看大小
print(s.size)
# 印出 7
# 查看資料型態
print(s.dtype)
# 印出 int64
# 查看資料形狀
print(s.shape)
# 印出 (7,)
# 查看索引
print(s.index)
# 印出 RangeIndex(start=0, stop=7, step=1),傳回的物件RangeIndex可以視為下方的列表
# [0, 1, 2, 3, 4, 5, 6],從0開始,到7停止,每個元素相差為1的列表,所以這的Series的索引就是0~6
# 載入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表來建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
# 加總
print(s.sum()) # 298
# 最大值
print(s.max()) # 88
# 最小值
print(s.min()) # 11
# 連乘運算
print(s.prod()) # 71281758240
# 平均
print(s.mean()) # 42.57142857142857
# 中位數
print(s.median()) # 35
# 標準差
print(s.std()) # 26.273288988737484
# 找前n筆資料
print(s.head(3))
"""
0 33
1 23
2 66
dtype: int64
"""
# 找最大的n筆資料
print(s.nlargest(3))
"""
6 88
2 66
5 42
dtype: int64
"""
# 找最小的n筆資料
print(s.nsmallest(3))
"""
3 11
1 23
0 33
dtype: int64
"""
# 載入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表來建立Series,索引為i
l = [33, 23, 66, 11, 35, 42, 88]
i = ["貓", "狗", "羊", "豬", "雞", "牛", "馬"]
s = pd.Series(l, index = i)
print(s)
"""
貓 33
狗 23
羊 66
豬 11
雞 35
牛 42
馬 88
dtype: int64
"""
print(s.index)
# Index(['貓', '狗', '羊', '豬', '雞', '牛', '馬'], dtype='object')
print(s["羊"])
# 66