将字典转换为数据框

Converting dictionary to dataframe

在下面的代码中,我定义了一个字典,然后将其转换为数据框

my_dict = {
'A' : [1,2],
'B' : [4,5,6]
}
df = pd.DataFrame()
df = df.append(my_dict, ignore_index=True)

输出是一个 [1 行 x 2 列] 数据框,看起来像

         A         B
0    [1,2]   [4,5,6]

但是,我想将其重塑为

     A     B
0    1     4
1    2     5
2          6

我如何为此目的修改代码?

如果您不介意稍微更改一下代码,这将为您提供所需的结果

my_dict = {
'A' : [1,2,''],
'B' : [4,5,6]
}
df = pd.DataFrame(my_dict)
df

您可以按如下方式使用pandas.Series.explode

import pandas as pd
my_dict = {
'A' : [1,2],
'B' : [4,5,6]
}
df = pd.DataFrame()
df = df.append(my_dict, ignore_index=True)
df = df.apply(lambda x:x.explode(ignore_index=True))
print(df)

输出

     A  B
0    1  4
1    2  5
2  NaN  6

我使用 ignore_index=True 对每一列应用爆炸,以防止重复索引。

试试这个。您需要将字典分配给数据框。我已经 运行 它了。它应该给你你想要的输出。不要使用追加。它是将一个数据帧附加到另一个数据帧

import pandas as pd 

my_dict = {
'A' : [1,2,''],
'B' : [4,5,6]
}
df = pd.DataFrame(data=my_dict)
#df = df.append(my_dict, ignore_index=True)

print(df)

另一种方法是:

df = pd.DataFrame.from_dict(my_dict, 'index').T
print(df)

输出:

     A    B
0  1.0  4.0
1  2.0  5.0
2  NaN  6.0