iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
Python

進擊的Python系列 第 18

Day17-Series(歐魯)

  • 分享至 

  • xImage
  •  

啊!!!我的舌頭啊~大家好!我是歐魯~我分享Series與Datafream

https://ithelp.ithome.com.tw/upload/images/20240823/201632576PRH33TU0S.png
圖片來源:(https://forum.gamer.com.tw/Co.php?bsn=43473&sn=52635)

Pandas Series

  • 一維標籤陣列:可以想像 Excel 中的一列,但功能更強大
  • 索引:每個元素都有對應的索引,可以是數字、文字或其他資料型態
  • 序列:元素的順序是有意義的

建立Series元素

import pandas as pd

# 從 Python list 創建
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

輸出
0    1
1    2
2    3
3    4
4    5
dtype: int64

# 自定義索引
index = ['a', 'b', 'c', 'd', 'e']
s = pd.Series(data, index=index)
print(s)

輸出
a    1
b    2
c    3
d    4
e    5
dtype: int64

# 從 NumPy array 創建
import numpy as np
data = np.array([1, 2, 3])
s = pd.Series(data)
print(s)

輸出
0    1
1    2
2    3
dtype: int64

# 從字典創建
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)
print(s)

輸出
a    1
b    2
c    3
dtype: int64

存取Series元素

# 使用索引
print(s['a'])  # 根據索引標籤取值

# 使用位置
print(s[0])  # 根據位置取值

# 切片
print(s[1:3])  # 取出索引為 'b' 和 'c' 的元素

Series屬性與方法

values 取Series值(NumPy array)
index 取Series索引
dtype 取Series資料型態
head() 查看前幾行
tail() 查看後幾行
describe() 顯示Series統計摘要(數量、平均值、標準差等)
print(s.values)
print(s.index)
print(s.dtype)
print(s.head(2))
print(s.describe())

Series運算

  • 算術運算:可以直接進行加、減、乘、除等運算
  • 邏輯運算:可以使用比較運算符 (<, >, ==) 來篩選資料
  • 布林索引:可以使用布林索引來篩選 Series 中元素
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
print(s1 + s2)

輸出
0    5
1    7
2    9
dtype: int64

print(s1 > 2)

輸出
0    False
1    False
2     True
dtype: bool

Series應用範例

  • 股票價格: 每個元素代表某一天股價,索引代表日期
  • 人口統計數據: 每個元素代表某個地區人口數,索引代表地區名稱
  • 實驗數據: 每個元素代表一次實驗結果,索引代表實驗次數

範例:股票價格

import pandas as pd

# 股票價格數據
data = {'AAPL': [150, 152, 149],
        'GOOG': [1100, 1120, 1110]}

# 創建 DataFrame
df = pd.DataFrame(data)

# 提取 AAPL 的價格數據作為 Series
apple_price = df['AAPL']
print(apple_price)

# 計算 AAPL 的平均價格
print(apple_price.mean())

輸出
0    150
1    152
2    149
Name: AAPL, dtype: int64
150.33333333333334

結論

Pandas Series 是資料分析中非常基礎且重要資料結構。它提供一種高效且方便的方式來存儲和操作一維標籤化數據。透過 Series,可以輕鬆地進行數據的選取、計算、篩選等操作


上一篇
Day16-Pandas資料分析(尤米爾)
下一篇
Day18-Dataframe
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言