將 Pandas DataFrame 轉換為系列

Samreena Aslam 2023年1月30日
  1. 將 Pandas DataFrame 的第一列轉換為 Series
  2. 將 Pandas DataFrame 的特定或最後一列轉換為 Series
  3. 將 Pandas DataFrame 的多列轉換為 Series
  4. 將單行 Pandas DataFrame 轉換為 Series
  5. まとめ
將 Pandas DataFrame 轉換為系列

Pandas DataFrame 是一種二維結構,其中資料排列成多列和多行。在大多數情況下,我們需要將 Pandas DataFrame 轉換為系列。

系列包含帶有索引的列表形式的資料。換句話說,DataFrame 是系列的集合。

為了分析資料,我們可以將 Pandas DataFrame 的列或行轉換為系列。

使用 Pandas series,我們可以在列表中返回一個物件型別,該列表具有從 0 到 n 值的適當索引。我們可以使用 squeeze 和索引位置 df.iloc[:,0] 方法將 Pandas DataFrame 轉換為系列。

本文將向你展示如何將 Pandas DataFrame 轉換為 Series。我們將實現各種場景,例如將 Pandas DataFrame 的列或行轉換為系列。

將 Pandas DataFrame 的第一列轉換為 Series

我們可以將 Pandas DataFrame 的單列或第一列轉換為系列。例如,我們在字典中獲取學生的資料,然後建立一個 DataFrame

示例程式碼:

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to dataframe
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
print(dataframe)

輸出:

原始 DataFrame

在以下原始碼中,我們要將 Pandas DataFrame 的第一列轉換為系列。使用 df.iloc[:,0],我們可以將第一個 DataFrame 列轉換為系列。

示例程式碼:

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to dataframe
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe

# Converting first column to Series
series = dataframe.iloc[:, 0]

print("\nFirst column as a Series:\n")
print(series)

# display type
print(type(series))

輸出:

將 Pandas DataFrame 的第一列轉換為系列

在以下示例中,我們使用 dataframe['Student Names'].squeeze() 方法將 Pandas DataFrame 的第一列 Students Names 轉換為系列。它還將顯示與上述類似的輸出。

示例程式碼:

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to dataframe
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe

# Converting first column to Series
series = dataframe["Student Names"].squeeze()

print("\nFirst column as a Series:\n")
print(series)

# display type
print(type(series))

輸出:

將 Pandas DataFrame 的第一列轉換為系列

將 Pandas DataFrame 的特定或最後一列轉換為 Series

要將 Pandas DataFrame 的最後一列或特定列轉換為系列,請使用 df.iloc[:,0] 中基於整數位置的索引。

例如,我們想將給定資料的第三列或最後一列從 Pandas DataFrame 轉換為系列。

在這種情況下,下面的程式碼示例將對我們有所幫助。

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to dataframe
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe

# Converting specific column to Series
series = dataframe.iloc[:, 3]

print("\nSpecific column as a Series:\n")
print(series)

# display type
print(type(series))

輸出:

將 Pandas DataFrame 的特定列轉換為系列

我們還可以使用擠壓方法將 Pandas DataFrame 的特定列轉換為系列,方法是使用 DataFrame 傳遞列名,例如 dataframe['Maths'].squeeze()

示例程式碼:

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to dataframe
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe

# Converting Specific column to Series
series = dataframe["Maths"].squeeze()

print("\nSpecific column as a Series:\n")
print(series)

# display type
print(type(series))

輸出:

將 Pandas DataFrame 的特定列轉換為系列

將 Pandas DataFrame 的多列轉換為 Series

我們可以將 Pandas DataFrame 的多列轉換為系列。

首先,我們從字典中建立了一個 DataFrame。此外,DataFrame 列被轉換為 series

示例程式碼:

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to DataFrame
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe

# Converting multiple columns of DataFrame to Series
series1 = dataframe.iloc[:, 1]
series2 = dataframe.iloc[:, 2]
series3 = dataframe.iloc[:, 3]

print("\nConvert Multiple columns of dataframe to Series:\n")
print(series1, "\n")
print(series2, "\n")
print(series3, "\n")

# Display type
print(type(series1))
print(type(series2))
print(type(series3))

輸出:

將 Pandas DataFrame 的多列轉換為系列

在上述輸出中,我們已將三個 Pandas DataFrame 列轉換為系列。

將單行 Pandas DataFrame 轉換為 Series

如下所示,我們還可以使用 squeeze() 方法將單個 Pandas DataFrame 行轉換為系列。

import pandas as pd

# Create dictionary
students_record = {
    "Student Names": ["Samreena", "Raees", "Asif", "Affan", "Idrees", "Mirha"],
    "Physics": [87, 54, 68, 92, 50, 90],
    "Chemistry": [78, 58, 85, 82, 76, 71],
    "Maths": [90, 88, 50, 89, 77, 80],
}

# Converting dictionary to DataFrame
dataframe = pd.DataFrame(data=students_record)

# Display DataFrame
dataframe
# Converting DataFrame row to Series
series = dataframe.iloc[3].reset_index(drop=True).squeeze()

print(series)
print(type(series))

輸出:

將單行 Pandas DataFrame 轉換為系列

在上面的輸出中,我們可以看到具有包含整數的新索引的系列。

まとめ

我們在本教程中展示瞭如何將 Pandas DataFrame 的列或行轉換為 series。使用不同的場景,我們在原始碼的幫助下演示了每個案例。

我們希望你發現所有示例都對你有用,並增加你對 Pandas DataFrameseries 的理解。如有任何反饋,你可以聯絡我們。

相關文章 - Pandas DataFrame