我有一系列清单
import pandas as pd
s = pd.Series([[1, 2, 3], [4, 5, 6]])
我想要一个 DataFrame ,每列都有一个列表。
from_items
, from_records
, DataFrame
Series.to_frame
似乎都不起作用
这该怎么做?
原文由 Hatshepsut 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一系列清单
import pandas as pd
s = pd.Series([[1, 2, 3], [4, 5, 6]])
我想要一个 DataFrame ,每列都有一个列表。
from_items
, from_records
, DataFrame
Series.to_frame
似乎都不起作用
这该怎么做?
原文由 Hatshepsut 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
正如@Hatshepsut 在评论中指出的那样,
from_items
从版本 0.23 开始被弃用。该链接建议改用from_dict
,因此可以将旧答案修改为:----------------------------------------------老答案------------------------------------------------ ————–
您可以像这样使用
from_items
(假设您的列表长度相同):或者
取决于你想要的输出。
这比使用
apply
(如@Wen 的回答 中所用,但是,它也适用于不同长度的列表):和
另外 @Hatshepsut 的回答 非常快(也适用于不同长度的列表):
和
最快的解决方案似乎是 @Abdou 的回答(针对 Python 2 进行了测试;也适用于不同长度的列表;在 Python 3.6+ 中使用
itertools.zip_longest
):一个附加选项: