如何将Pandas DataFrame列转换为系列

  • Post category:Python

将Pandas DataFrame列转换为Series非常简单,主要有两种方法:使用索引或使用属性。

使用索引

首先,我们创建一个包含多个列的Pandas DataFrame。

import pandas as pd

# 创建DataFrame
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]})

# 查看DataFrame
print(df)

# 输出:
#    col1  col2  col3
# 0     1     4     7
# 1     2     5     8
# 2     3     6     9

使用索引将DataFrame列转换为Series。例如,我们想将“col1”列转换为Series。

# 使用索引将DataFrame列转换为Series
col1_series = df['col1']

# 查看Series
print(col1_series)

# 输出:
# 0    1
# 1    2
# 2    3
# Name: col1, dtype: int64

使用索引将DataFrame列转换为Series是很简单,但是值得注意的是它返回的Series是DataFrame的一个视图,并非副本。所以,在修改视图的值时,原DataFrame的值也会被修改。

使用属性

另一种方法是使用属性。例如,我们想将“col2”列转换为Series。

# 使用属性将DataFrame列转换为Series
col2_series = df.col2

# 查看Series
print(col2_series)

# 输出:
# 0    4
# 1    5
# 2    6
# Name: col2, dtype: int64

使用属性将DataFrame列转换为Series同样也非常简单。但是,使用属性会更方便,因为在属性名称(列标签)合法的情况下,我们可以使用自定义的Series名称。

# 使用属性将DataFrame列转换为Series并自定义Series名称
col3_series = df.col3.rename('my_series_name')

# 查看Series
print(col3_series)

# 输出:
# 0    7
# 1    8
# 2    9
# Name: my_series_name, dtype: int64

使用属性来转换DataFrame列时,同样值得注意的是返回的Series是DataFrame的一个视图,并非副本。

综上所述,我们可以使用索引或属性将Pandas DataFrame列转换为Series,并且可以自定义Series的名称。在使用这些方法时,也要注意返回的Series是DataFrame的一个视图,并非副本。