DataFrame
很好用的資料類型
[] 中括號
「取出」之意,其中可以是索引或欄位名。
參考:https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html
new DataFrame
# 建立一個單純空DataFrame
df = pd.DataFrame()
# 建立一個指定column但無資料的DataFrame
df = pd.DataFrame(columns=['colA', 'colB', 'colC'])
# 已經有資料的狀況建立為一個DataFrame
df = pd.DataFrame({'colA': 'valA', 'colB': 'valB', 'colC': 'valC'})set data
# 在資料尾端加入新資料
df.loc[len(df)] = data
# data可以是list(與columns數量一致),也可以是dict(與columns名一至)addign 增加一欄的資料
參考:https://www.gairuo.com/p/pandas-assign
get out columns name 取得所有欄位名
修改列名
get row size
不能用data.size,這只會取得資料空間大小,而非筆數。
get frist row data
取得第一筆資料(非欄位名行)
index有可能不是流水,要看資料實際的index
sql取出或自行append的預設會是流水,但也有可能合併之類的操作導致跳號重號,要注意!
https://www.delftstack.com/zh-tw/howto/python-pandas/pandas-get-first-row-of-given-column/
get row by index
get out datas by column name
get out data from row
範例用data如下
fieldA fieldB
row1 value1 value2
row2 value3 value4
有兩種方法:
指定欄位名
指定第幾欄
迴圈取row需要使用index時,需視情況先reset_index! 否則index有可能未從頭(原資料過濾或截斷會保留index)。
獲取某列中唯一值
foreach
這方法效率並不好!如果要進行的工作有DataFrame預設方法可處理,盡量不要使用此foreach方式!
filter 過濾
EX
第三維度
DataFrame 是一個二維表格結構,因此在一個 DataFrame 中,資料只會以行和列的方式顯示,並沒有第三個維度。
可以將一個 DataFrame 中的某一欄位或某一列視為另一個 DataFrame,這樣可以將 DataFrame 組合起來形成更複雜的結構。
EX
在這個例子中,我們從 DataFrame df 中取出了第 2 列,然後將它轉換為一個矩陣,並輸出。
這樣就可以將 DataFrame 轉換為一個矩陣,然後進行相關的操作。
然而,需要注意的是,這裡的矩陣不再是一個完整的 DataFrame,只是 DataFrame 中某一部分的資料,因此不能再進行 DataFrame 相關的操作,例如新增或刪除列等操作。
顯示完整資料
當資料欄位多,又想要用print查看所有資料內容。
Last updated