今天早八,筆者昨天還做死玩遊戲到很晚,可以非常想睡了,但把畢業專題的老師找到了!嗚呼~那今天的內容不出意外是 Pandas 本來昨天要一起說得但晚上有點來不及所以放今天,那我們繼續接下來說吧!
pandas 是 Python 用於資料操縱和分析的軟體庫,主要用於處理和分析資料。了能夠操作數值表格和時間序列資料的工具和運算功能,適用於各種資料處理和分析工作。
這裡放一些 Pandas 的語法
import pandas as pd
data = pd.read_csv('data.csv') # 讀取 CSV 文件
# 建立 series
se = pd.Series([1, 2, 3])
# 可以自訂索引
se = pd.Series([1, 2, 3], index = ['榛', '堯', '安'])
# 取陣列內容值
series.values
# 取索引陣列
series.index
# 檢查是否不重複
series.is_unique
# 建立有索引 DataFrame
df = pd.DataFrame(data ={'A':[1, 2, 3], 'B':[4, 5, 6], 'C':[7, 8, 9]})
df = pd.DataFrame(data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns = ['A', 'B', 'C'] )
# 新增
df['D'] = [10, 11, 12]
#重新命名
df.columns = ['1', '2', '3', '4'] # A, B, C, D 改成 1, 2, 3, 4
# 取欄位名稱
df.columns
# 取陣列值
df.values
# 取索引
df.index
# 資料維度
df.shape
# 資料轉置
df.T # 索引與欄位翻轉
用法跟上一篇 Numpy 有類似的部分
有些上一篇有寫得比較清楚
可以回去看看
# 查看前幾行資料
data.head()
# 查看資料統計摘要
data.describe()
# 選擇單列
column = data['column_name']
# 選擇多列
columns = data[['column1', 'column2']]
# 使用條件選擇資料列
data[data['column_name'] > 5]
# 排序
data.sort_values(by = 'column_name', ascending = False)
# ascending = True 資料從小到大排序
# ascending = False 資料從大到小排序
# 檢查缺失值
data.isnull().sum()
# 刪除包含缺失值的資料列
data.dropna(inplace = True)
# 填充缺失值
data.fillna(value, inplace = True)
# 依照欄位分組
data.groupby('column_name')
# 聚合操作(像是計算平均值等等)
grouped_data.mean()
data.to_csv('new_data.csv', index = False) # 存成CSV
data.to_excel('new_data.xlsx', index = False) # 存成Excel
同樣的建議大家去自己跑跑看這些語法
實作才能更了解語法的作用
如果熟悉一點語法的話
可以完成今天的小實驗了!
import pandas as pd
data = pd.DataFrame({
'姓名': ['小榛', '小安', '小堯', '小霈', '小躍'],
'數學': [85, 92, 78, 96, 88],
'英文': [78, 89, 91, 88, 75],
'歷史': [92, 85, 88, 79, 90]
})
今天早八又滿堂
所以暫時先到這
大家明天再繼續一起學習吧~
明天見!
https://zh.wikipedia.org/zh-tw/Pandas
https://blog.techbridge.cc/2020/09/21/python-pandas-zen-tutorial/
https://www.finlab.tw/pandas-%E9%AD%94%E6%B3%95%E7%AD%86%E8%A8%981-%E5%B8%B8%E7%94%A8%E6%8B%9B%E5%BC%8F%E7%B8%BD%E8%A6%BD/#pandas_zi_liao_jie_gou