如何将字典附加到DataFrame作为一行?

4

你好,我想将字典附加到DataFrame中,但在这个字典中我没有任何索引值。 我还需要从“KP”值中除了“1393”之外的所有内容。 它看起来像这样:

对于这个df:enter image description here

我想要附加这样的字典:

dict = {'KP': [1.0    1393
  Name: KP, dtype: int64],
 'Wiek': [Timedelta('176 days 12:59:43.042156102')],
 'KY1': [113.0],
 'OKO': [57.51],
 'GS': [10.59],
 'T': [654.31],
 'MP': [58.9]}

我尝试这个:

df.append(dict,ignore_index=True)

但是什么也没有发生,df仍然是原来的样子,我也没有收到任何错误信息。 我尝试将这个字典转换为列表,并将列表作为行附加到df中,但结果相同。

好的,我试试这个:

df = df.append(dict, ignore_index = True)

我得到了这个输出: 输入图像描述在这里 这不够好,我需要清晰的数据。

2
使用df = df.append(dict, ignore_index = True) - Vishal A.
3
您可以将字典转换为数据框:df1 = pd.DataFrame(dict),然后追加:df = df.append(df1, ignore_index=True)。顺便提一下,使用dict作为变量名是不推荐的,因为dict是一个内置关键字;此外,请勿发布数据框的图片,而是按照此处(https://dev59.com/O2Ij5IYBdhLWcg3wk182)所述以文本形式发布它们。 - piterbarg
好的,谢谢,这真的帮了我很多。 - maciej.o
1个回答

7
由于'append'方法已被弃用,您可能需要考虑使用'concat'方法:
the_dict = {'k1':'v1','k2':'v2'}
df_the_dict = pd.DataFrame({'name':the_dict.keys(), 'value':the_dict.values()})

df_final = pd.concat([df_final, df_the_dict], ignore_index=True)

5
我觉得在Pandas中添加行非常不优雅,也不符合Python的风格。我无法相信append方法被取消了,这个方法很直观,并且可以接受字典作为参数。 - Roel Verhoeven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接