從 Pandas Series 建立 DataFrame
在資料科學中,資料以各種格式表示,例如表格、圖表或任何其他型別的結構。用於表示資料的最常見的資料結構之一是 DataFrame,它可以使用陣列或序列建立。本文件將討論如何從 Pandas Series 物件建立 DataFrame。
DataFrame 在資料科學中的重要性!
DataFrame 是一種二維表格式資料結構,廣泛應用於資料科學。它是資料操作、資料分析和資料視覺化的重要工具。以下是 DataFrame 在資料科學中的一些主要優勢:
輕鬆進行資料操作 − DataFrame 允許輕鬆操作資料,包括新增或刪除行和列、過濾和排序資料以及合併來自不同來源的資料。
高效處理大型資料集 − DataFrame 旨在高效地處理大型資料集,使其非常適合資料分析任務。
易於與其他資料科學工具整合 − DataFrame 可以輕鬆地與其他資料科學工具(如 NumPy、Pandas 和 Matplotlib)整合,從而更輕鬆地執行復雜的資料分析任務。
易於閱讀和理解 − DataFrame 易於閱讀和理解,使其成為資料視覺化和演示的絕佳工具。
靈活性 − DataFrame 在資料型別和操作方面提供了很大的靈活性,允許執行各種資料分析任務。
什麼是 Pandas Series?
Series 是一種一維帶標籤的陣列,可以容納任何資料型別(整數、字串、浮點數等)。它類似於表中的一列或 R 程式語言中的向量。Series 中的每個值都與稱為索引的標籤相關聯。預設情況下,Series 的索引從零開始,一直到 n-1,其中 n 是 Series 中元素的數量。
Pandas 的關鍵優勢是什麼?
資料操作 − Pandas 提供各種強大且靈活的資料操作函式,包括選擇、過濾、轉換和聚合資料。這些函式對於資料清理和預處理至關重要,而資料清理和預處理是資料分析中的重要步驟。
資料整合 − Pandas 使得輕鬆整合來自不同來源和格式的資料,包括 CSV、Excel、SQL 資料庫和 JSON。它還支援合併和連線來自不同來源的資料,這對於處理大型和複雜的資料集至關重要。
資料視覺化 − Pandas 提供強大的資料視覺化工具,包括線圖、散點圖、直方圖和條形圖。這些視覺化對於探索和理解資料至關重要,它們可以幫助識別原始資料中可能不明顯的模式和趨勢。
從 Series 建立 DataFrame
要從序列建立 DataFrame,我們首先需要建立一個 Pandas Series 物件。我們可以透過將值列表傳遞給 `pd.Series()` 方法來建立 Series 物件。
示例
import pandas as pd s = pd.Series([10, 20, 30, 40, 50]) print(s)
輸出
0 10 1 20 2 30 3 40 4 50 dtype: int64
這將建立一個具有預設索引的 Series 物件。要為 Series 物件命名,可以使用 `name` 引數。
示例
import pandas as pd s = pd.Series([10, 20, 30, 40, 50], name="Numbers") print(s)
輸出
0 10 1 20 2 30 3 40 4 50 Name: Numbers, dtype: int64
這將建立一個名為“Numbers”的 Series 物件。
現在,我們可以使用 `pd.DataFrame()` 方法從 Series 物件建立 DataFrame。例如:
df = pd.DataFrame(s)
這將建立一個具有兩列的 DataFrame:一列用於索引,另一列用於 Series 中的值。要為包含 Series 中值的列命名,可以使用 `columns` 引數。例如:
df = pd.DataFrame(s, columns=["Values"])
這將建立一個只有一列名為“Values”的 DataFrame。
使用多個 Series 建立 DataFrame
有時我們希望將多個 Series 合併到單個 DataFrame 中。例如,考慮以下兩個 Series:
s1 = pd.Series([10, 20, 30, 40, 50], name="Numbers") s2 = pd.Series(["apple", "orange", "banana", "grape", "watermelon"], name="Fruits")
要使用這兩個 Series 建立 DataFrame,我們可以使用 `pd.concat()` 方法,如下所示:
df = pd.concat([s1, s2], axis=1) print(df)
這將建立一個具有兩列的 DataFrame:一列用於數字,另一列用於水果。
輸出
Numbers Fruits 0 10 apple 1 20 orange 2 30 banana 3 40 grape 4 50 watermelon
向現有 DataFrame 新增新列
當我們擁有一個 DataFrame 並希望向其中新增新列時,我們可以建立一個新的 Series 物件,然後使用 `pd.concat()` 方法沿列軸連線這兩個 DataFrame。
示例
import pandas as pd df = pd.DataFrame({"Numbers": [10, 20, 30, 40, 50], "Fruits": ["apple", "orange", "banana", "grape", "watermelon"]}) new_col = pd.Series([5, 4, 3, 2, 1], name="Ranks") df = pd.concat([df, new_col], axis=1) print(df)
這將建立一個具有三列的 DataFrame:“Numbers”、“Fruits”和“Ranks”。
輸出
Numbers Fruits Ranks 0 10 apple 5 1 20 orange 4 2 30 banana 3 3 40 grape 2 4 50 watermelon 1
在每個部分中,我們可以看到一個輸出以更好地理解。
最終程式碼
這是所有可用程式碼的組合。
# Creating a DataFrame from a Series import pandas as pd s = pd.Series([10, 20, 30, 40, 50]) print(s) s = pd.Series([10, 20, 30, 40, 50], name="Numbers") print(s) # Using Multiple Series to create a DataFrame s1 = pd.Series([10, 20, 30, 40, 50], name="Numbers") s2 = pd.Series(["apple", "orange", "banana", "grape", "watermelon"], name="Fruits") df = pd.concat([s1, s2], axis=1) print(df) # Adding a new column to an existing DataFrame df = pd.DataFrame({"Numbers": [10, 20, 30, 40, 50], "Fruits": ["apple", "orange", "banana", "grape", "watermelon"]}) new_col = pd.Series([5, 4, 3, 2, 1], name="Ranks") df = pd.concat([df, new_col], axis=1) print(df)
輸出
0 10 1 20 2 30 3 40 4 50 dtype: int64 0 10 1 20 2 30 3 40 4 50 Name: Numbers, dtype: int64 Numbers Fruits 0 10 apple 1 20 orange 2 30 banana 3 40 grape 4 50 watermelon Numbers Fruits Ranks 0 10 apple 5 1 20 orange 4 2 30 banana 3 3 40 grape 2 4 50 watermelon 1
結論
DataFrame 是一種強大的資料結構,可以從各種資料來源建立。本文件討論瞭如何從 Pandas Series 物件建立 DataFrame。我們還討論瞭如何使用多個 Series 建立 DataFrame 以及如何向現有 DataFrame 新增新列。透過使用這些技術,我們可以有效地將原始資料轉換為可用於進一步分析的結構化資料集。在本文中,我們還介紹了 Pandas DataFrame 以及 Python 程式語言中 Pandas 庫的重要性。