參考資料
範例程式碼與筆記
# ===== dataframe的初始化 =====
# ===== dataframe的操作 =====
#附加一列數據
a = { 'a':1, 'b':1, 'c':1 }
df = df.append(a, ignore_index=True)
#刪除數據
df.dropna(axis=0, how='any')
#替換數據
df.replace(to_replace=None, value=None)
#轉置矩陣
df.T
#刪除欄位
df = df.drop('Name', axis=1) #axis=0,代表列; axis=1,代表行
#顯示有哪些欄位
df.columns
#修改欄位名稱
df.rename({'舊欄位名稱1': '新欄位名稱1', '舊欄位名稱2': '新欄位名稱2'}, axis=1)
#新增欄位
df.insert(index, '欄位名稱', )
#顯示資料相關資訊
df.info()
df.info(memory_usage='deep') #顯示記憶體使用狀況
# ===== 檔案操作 =====
#Read CSV
pd.DataFrame.from_csv("csv_file")
pd.read_csv("csv_file")
#Write CSV
df.to_csv("data.csv", sep=",", index=False)
#Read Excel
pd.read_excel("excel_file")
# ===== 資料操作 =====
df.groupby('XXX').count() #每個類別的數量
df.groupby('XXX').mean() #每個類別的平均
df.groupby('XXX').std() #每個類別的標準差
df.groupby('XXX').median() #每個類別的中位數
# ===== 其他操作 =====
#產生一個dataframe
datesframe = pd.date_range('20200101', periods=6)
pd.DataFrame(np.arrange(24).reshape((4,6)), index=datesframe, columns=['A', 'B', 'C', 'D'])
#選擇欄
df['A'] or df.A
#根據標籤選擇 - loc
df.loc(:,['A','B'] #取得所有的列欄位'A'與欄位'B'的資料
df.loc('20200101',['A','B']] #取得列20200101的欄位'A'與欄位'B'資料
df.loc['20200101'] #取得列20200101的所有欄位資料
#根據序列選擇 - iloc (位置從0算起)
df.iloc[3,1] #取得第4列、第2行的資料
df.iloc[3:5,1:3] #取得第4~5列、第2~3欄的資料
df.iloc[[1,3,5],1:3] #取得第1,3,5列、第2~3欄的資料
#混合選擇 - ix
df.ix(:3,['A',C'] #取0~2列、'A''C'兩欄的資料
#條件式篩選
df[df.A>8] #列出所有'A'欄位>8的所有資料列