将 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