繁体   English   中英

将列表转换为数据框(熊猫)

[英]Convert list to dataframe (Pandas)

有什么办法可以将这种类型的输出转换为 Dataframe 吗? 输出:

[['A', 'B'], ['Orange', 'Apple']]
[['C', 'D'], ['Coconut', 'Lemon']]
[['E'], ['Mango', 'Strawberry']]
I want to turn the output into a dataframe like this:

`     x1         X2
0   A,B   Orange, Apple
1   C,D   Coconut, Lemon
2   E     Mango, Strawberry`

只需将此数据添加到列表中

import pandas as pd

data = [[['A', 'B'], ['Orange', 'Apple']],
        [['C', 'D'], ['Coconut', 'Lemon']],
        [['E'], ['Mango', 'Strawberry']]]

df = pd.DataFrame(data, columns=['x1', 'x2'])

所以 df 看起来像

       x1                   x2
0  [A, B]      [Orange, Apple]
1  [C, D]     [Coconut, Lemon]
2     [E]  [Mango, Strawberry]

如果您的起始数据在列表中,并且您想用逗号连接每个列表,这应该有效:

l = [[['A', 'B'], ['Orange', 'Apple']],
    [['C', 'D'], ['Coconut', 'Lemon']],
    [['E'], ['Mango', 'Strawberry']]]

df = pd.DataFrame([[', '.join(v) for v in i] for i in l],columns = ['x1','x2'])

stack()str.join()也是一个选项:

df = pd.DataFrame(l,columns = ['x1','x2']).stack().str.join(', ').unstack()

输出:

     x1                 x2
0  A, B      Orange, Apple
1  C, D     Coconut, Lemon
2     E  Mango, Strawberry

简单修复:

pd.DataFrame(
    {"x1":[["A", "B"], ["C", "D"], ["E"]],
    "x2":[["Orange", "Apple"], ["Coconut", "Lemon"], ["Mango", "Strawberry"]]}
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM