pandas 向现有panda Dataframe 追加行

q0qdq0h2  于 2023-02-02  发布在  其他
关注(0)|答案(2)|浏览(148)

我有一个Pandas Dataframe df1

a    b
0   1    2

1   3    4

我有另一个字典形式的 Dataframe

dictionary = {'2' : [5, 6], '3' : [7, 8]}

我想将字典值作为行附加到 Dataframe df1中。我使用pandas.DataFrame.from_dict()将字典转换为 Dataframe 。约束是,当我这样做时,我不能为方法from_dict()的'column'参数提供任何值。
因此,当我尝试连接两个 Dataframe 时,Pandas会将新 Dataframe 的内容添加为新列,我不希望这样,我希望的最终输出格式为

a    b
0   1    2

1   3    4

2   5    6

3   7    8

有人能告诉我怎么做才最不痛苦吗?

mzsu5hc0

mzsu5hc01#

pd.DataFrame.from_dict的帮助下使用concat,在转换过程中设置df1的列:

out = pd.concat([df1,
                 pd.DataFrame.from_dict(dictionary, orient='index',
                                        columns=df1.columns)
                 ])

输出:

a  b
0  1  2
1  3  4
2  5  6
3  7  8
n3h0vuf2

n3h0vuf22#

另一种可能的解决方案使用numpy.vstack

pd.DataFrame(np.vstack([df.values, np.array(
    list(dictionary.values()))]), columns=df.columns)

输出:

a  b
0  1  2
1  3  4
2  5  6
3  7  8

相关问题