一種二維表格型數據結構,類似于電子表格(如 Excel)或 SQL 表,由行(記錄)?和列(字段)?組成。它是數據分析、機器學習和科學計算中最常用的數據結構之一,尤其在 ?Python 的 Pandas 庫? 中被廣泛使用。
?1. DataFrame 的核心特點?
特點 | 說明 |
---|
?二維結構? | 類似表格,有行(記錄)和列(字段)。 |
?列名(Column Names)?? | 每列有一個名稱(如?name ,?age ,?salary )。 |
?行索引(Index)?? | 每行有一個索引(默認從 0 開始,也可自定義)。 |
?異構數據? | 不同列可以存儲不同類型的數據(如數字、字符串、布爾值)。 |
?靈活操作? | 支持篩選、排序、分組、合并等高級操作。 |
?2. DataFrame 的常見用途?
- ?數據分析?(如統計、聚合、可視化)
- ?機器學習?(特征工程、數據預處理)
- ?數據庫查詢結果?(類似 SQL 表)
- ?金融、電商、醫療等領域的數據處理?
?3. DataFrame 的示例(Python Pandas)??
import pandas as pd# 創建一個 DataFrame
data = {"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"Salary": [50000, 60000, 70000]
}df = pd.DataFrame(data)print(df)
?輸出:??
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
- ?列名?:
Name
,?Age
,?Salary
- ?行索引?:
0, 1, 2
- ?數據類型?:
Name
(字符串)、Age
(整數)、Salary
(整數)
?4. DataFrame 的常見操作?
操作 | 示例 |
---|
?查看數據? | df.head() (前 5 行)、df.describe() (統計摘要) |
?篩選數據? | df[df["Age"] > 30] (篩選年齡大于 30 的行) |
?新增列? | df["Bonus"] = df["Salary"] * 0.1 (新增獎金列) |
?排序? | df.sort_values("Salary", ascending=False) (按薪資降序排序) |
?分組聚合? | df.groupby("Age")["Salary"].mean() (按年齡分組計算平均薪資) |
?合并 DataFrame? | pd.concat([df1, df2]) ?或?pd.merge(df1, df2) |
?5. DataFrame 與其他數據結構的區別?
數據結構 | 特點 | 適用場景 |
---|
?DataFrame? | 二維表格,支持列操作 | 數據分析、機器學習 |
?Series? | 一維數組(DataFrame 的列) | 單變量分析 |
?NumPy 數組? | 多維數組,僅支持數值計算 | 科學計算、矩陣運算 |
?SQL 表? | 數據庫中的二維表 | 數據存儲、查詢 |
?6. DataFrame 的應用場景?
- ?金融分析?(股票數據、交易記錄)
- ?電商數據分析?(用戶行為、銷售數據)
- ?醫療數據?(病人記錄、診斷結果)
- ?機器學習?(特征工程、數據預處理)
?總結?
- ?DataFrame 是一種二維表格數據結構,類似于 Excel 或 SQL 表。
- ?Pandas 的 DataFrame 是最常用的實現,支持靈活的數據操作。
- ?適用于數據分析、機器學習、數據庫查詢等場景。