将 Pandas DataFrame 转换为系列
-
将 Pandas
DataFrame
的第一列转换为Series
-
将 Pandas
DataFrame
的特定或最后一列转换为Series
-
将 Pandas
DataFrame
的多列转换为Series
-
将单行 Pandas
DataFrame
转换为Series
- 结论
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)
输出:
在以下源代码中,我们要将 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))
输出:
在以下示例中,我们使用 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
的特定或最后一列转换为 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 的特定列转换为系列,方法是使用 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
的多列转换为 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
转换为 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
的列或行转换为 series
。使用不同的场景,我们在源代码的帮助下演示了每个案例。
我们希望你发现所有示例都对你有用,并增加你对 Pandas DataFrame
和 series
的理解。如有任何反馈,你可以联系我们。