使用不同大小的列表创建一个Dataframe

时间:2018-05-30 23:42:30

标签: python pandas

更改为更好地解释:

A = ['one',None,None,None]
B = [None,'two',None,None],
C = [None,None,'three','Four']

如果我创建一个Dataframe,我会得到:

df = pd.DataFrame({'A': A,
                   'B':B,
                   'C':C
})
df     
       A    B       C
0   one     None    None
1   None    two     None
2   None    None    three
3   None    None    Four

但我想要一个类似于下面的预期输出的DataFrame 预期产出:

       A    B       C
0   one     two     three
1   None    None    four

1 个答案:

答案 0 :(得分:0)

谢谢大家。对不起,我不清楚。我只想更多地探索PANDAS。我知道这对任何现实世界的情况都不会有用,但我很好奇。以下是我能够实现我所寻找的方式。如果有任何其他有效方法可以实现相同目的,请告诉我。

a= df['A'].dropna().unique()
b= df['B'].dropna().unique()
c= df['C'].dropna().unique()
df_abc = pd.DataFrame({'A' : dict(zip(range(len(a)),a)),
                       'B': dict(zip(range(len(b)),b)),
                       'C' :dict(zip(range(len(c)),c))
                      })
df_abc

    A   B   C
0   one two three
1   NaN NaN Four