如何将Pandas系列转换为DataFrame(带示例)

657 阅读1分钟

你可以使用下面的基本语法将pandas Series转换为pandas DataFrame。

my_df = my_series.to_frame(name='column_name')

下面的例子展示了如何在实践中使用这种语法。

例子1:将一个系列转换为Pandas DataFrame

假设我们有下面这个pandas系列。

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 4, 4, 8, 14, 17, 20])

#view pandas Series
print(my_series)

0     3
1     4
2     4
3     8
4    14
5    17
6    20
dtype: int64

#view object type
print(type(my_series))

<class 'pandas.core.series.Series'>

我们可以使用**to_frame()**函数来快速将这个pandas系列转换为pandas DataFrame。

#convert Series to DataFrame and specify column name to be 'values'
my_df = my_series.to_frame(name='values')

#view pandas DataFrame 
print(my_df)

   values
0       3
1       4
2       4
3       8
4      14
5      17
6      20

#view object type 
print(type(my_df))

<class 'pandas.core.frame.DataFrame'>

例2:将多个系列转换为潘达斯数据框架

假设我们有三个不同的pandas系列。

import pandas as pd

#define three Series
name = pd.Series(['A', 'B', 'C', 'D', 'E'])
points = pd.Series([34, 20, 21, 57, 68])
assists = pd.Series([8, 12, 14, 9, 11])

我们可以使用下面的语法将每个系列转换为一个DataFrame,并将这三个DataFrame串联成一个最终的DataFrame。

#convert each Series to a DataFrame
name_df = name.to_frame(name='name')
points_df = points.to_frame(name='points')
assists_df = assists.to_frame(name='assists')

#concatenate three Series into one DataFrame
df = pd.concat([name_df, points_df, assists_df], axis=1)

#view final DataFrame
print(df)

  name  points  assists
0    A      34        8
1    B      20       12
2    C      21       14
3    D      57        9
4    E      68       11

最终的结果是一个pandas DataFrame,每个Series代表一列。

其他资源

下面的教程解释了如何在pandas中执行其他常见的数据对象转换。

如何将Pandas Series转换为NumPy数组
如何将Pandas DataFrame转换为NumPy数组
如何将Pandas DataFrame转换为字典
如何将Pandas DataFrame转换为List

The postHow to Convert Pandas Series to DataFrame (With Examples)appeared first onStatology.