如何从系列中创建Pandas数据框架(附实例)

108 阅读1分钟

通常,你可能想从一个或多个pandas系列中创建一个pandas DataFrame。

下面的例子展示了如何使用现有的系列作为DataFrame的行或列来创建一个pandas DataFrame。

例1:使用系列作为列创建Pandas DataFrame

假设我们有以下三个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中:

#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

注意,这三个系列在最终的DataFrame中分别表示为列。

例2:使用系列作为行创建Pandas DataFrame

假设我们有以下三个pandas系列:

import pandas as pd

#define three Series
row1 = pd.Series(['A', 34, 8])
row2 = pd.Series(['B', 20, 12])
row3 = pd.Series(['C', 21, 14])

我们可以使用下面的代码将每个系列合并到一个pandas DataFrame中,将每个系列作为DataFrame的一行:

#create DataFrame using Series as rows
df = pd.DataFrame([row1, row2, row3])

#create column names for DataFrame
df.columns = ['col1', 'col2', 'col3']

#view resulting DataFrame
print(df)

	col1	col2	col3
0	A	34	8
1	B	20	12
2	C	21	14

请注意,这三个系列在最终的DataFrame中都被表示为行。

其他资源

下面的教程解释了如何在Python中执行其他常见的操作:

如何将Pandas系列转换成DataFrame
如何将Pandas系列转换成NumPy数组
如何将NumPy数组转换成Pandas DataFrame