pandas 将pd.Series列表转换为多列DataFrame

qf9go6mv  于 2023-06-04  发布在  其他
关注(0)|答案(2)|浏览(200)

给定列表的Pandas Series,其中所有列表都具有相同的长度N。我如何将它重新塑造成一个DataFrameN列(保持索引)?
例如,给定

s = pd.Series([[1, 10, 0.1], [2, 20, 0.2], [3, 30, 0.3]], index=['a', 'b', 'c'])

>>> print(s)
a    [1, 10, 0.1]
b    [2, 20, 0.2]
c    [3, 30, 0.3]
dtype: object

我希望生成如下所示的DataFrame的代码

df = pd.DataFrame([[1, 10, 0.1], [2, 20, 0.2], [3, 30, 0.3]],
            index=['a', 'b', 'c'], columns=['X', 'Y'])

>>> print(df)
   X   Y    Z
a  1  10  0.1
b  2  20  0.2
c  3  30  0.3
irtuqstp

irtuqstp1#

或者,

pd.DataFrame.from_records(s, index=s.index, columns=['X', 'Y', 'Z'])

输出:

X   Y    Z
a  1  10  0.1
b  2  20  0.2
c  3  30  0.3
cbjzeqam

cbjzeqam2#

最后我自己找到了答案。下面的代码完成了这项工作:

pd.DataFrame(s.values.tolist(), index=s.index, columns=['X', 'Y', 'Z'])

相关问题