通常,你可能想从一个或多个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