我有一个系列,像这样:
series = pd.Series({'a': 1, 'b': 2, 'c': 3})
Run Code Online (Sandbox Code Playgroud)
我想将它转换为这样的数据帧:
a b c
0 1 2 3
Run Code Online (Sandbox Code Playgroud)
pd.Series.to_frame
不起作用,结果像,
0
a 1
b 2
c 3
Run Code Online (Sandbox Code Playgroud)
如何从Series构建DataFrame,其中Series的索引为列?
PJa*_*Jay 24
你也可以试试这个:
df = DataFrame(series).transpose()
Run Code Online (Sandbox Code Playgroud)
使用transpose()函数可以交换索引和列.输出如下所示:
a b c
0 1 2 3
Run Code Online (Sandbox Code Playgroud)
cs9*_*s95 14
您不需要转置步骤,只需将您的系列包装在一个列表中并将其传递给DataFrame
构造函数:
pd.DataFrame([series])
a b c
0 1 2 3
Run Code Online (Sandbox Code Playgroud)
或者,调用Series.to_frame
,然后使用快捷方式转置.T
:
series.to_frame().T
a b c
0 1 2 3
Run Code Online (Sandbox Code Playgroud)
小智 8
尝试重置索引。它将您的索引转换为数据框中的列。
df = series.to_frame().reset_index()
Run Code Online (Sandbox Code Playgroud)
小智 7
你也可以试试这个:
a = pd.Series.to_frame(series)
a['id'] = list(a.index)
说明:
第一行将系列转换为单列 DataFrame。
第 2 行向此 DataFrame 添加一列,其值与索引相同。
归档时间: |
|
查看次数: |
22907 次 |
最近记录: |