gpt4 book ai didi

python - 将整个列表放在一个数据框列中

转载 作者:太空宇宙 更新时间:2023-11-04 07:49:46 24 4
gpt4 key购买 nike

我正在尝试从字典创建数据框:

dict = {'foo': [1, 2, 3, 4],
'bar': [5, 6, 7, 8]}

然后我使用以下命令创建数据框:

df = pd.DataFrame.from_dict(dict, orient='index')

但是输出是这样的:

df:
0 1 2 3
foo 1 2 3 4
bar 4 5 6 7

但我希望输出如下所示,只有一列:

df:
'column_name'
foo [1, 2, 3, 4]
bar [4, 5, 6, 7]

最佳答案

您正在传递一个包含“类似列表”值的字典。当传递给 DataFrame 构造函数 时,pandas 将字典的键解释为系列标签,并将每个列表中的值解释为每个系列的新行值。

当您使用 from_dict 类方法时,您可以选择方向,它允许您指定字典的键是否代表行或列标签,但是“列表- like”字典的值仍将被解释为新列或新行。

使用这两种方法还要求值的长度是统一的。


pd.DataFrame.from_dict(dct, orient='index')

     0  1  2  3
foo 1 2 3 4
bar 5 6 7 8

pd.DataFrame.from_dict(dct, orient='columns')

   foo  bar
0 1 5
1 2 6
2 3 7
3 4 8

相反,您对 1-Dimensional pd.Series 感兴趣,它将使用字典并将每个键用作行标签,将每个值用作行值。

pd.Series(dct)

foo    [1, 2, 3, 4]
bar [5, 6, 7, 8]
dtype: object

根据我上面的评论,如果您对 DataFrame 感兴趣,可以使用 to_frame,它将维护存储在 Series 中的值。

pd.Series(dct).to_frame('column_name')

      column_name
foo [1, 2, 3, 4]
bar [5, 6, 7, 8]

关于python - 将整个列表放在一个数据框列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56674669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com