使用 concat() 将行附加到数据框

mah*_*ood 23 python dataframe pandas

我定义了一个空数据框

df = pd.DataFrame(columns=['Name', 'Weight', 'Sample'])
Run Code Online (Sandbox Code Playgroud)

并想要在 for 循环中追加行,如下所示:

for key in my_dict:
   ...
   row = {'Name':key, 'Weight':wg, 'Sample':sm}
   df = pd.concat(row, axis=1, ignore_index=True) 
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误

cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid
Run Code Online (Sandbox Code Playgroud)

如果我使用df = df.append(row, ignore_index=True),它可以工作,但似乎已append被弃用。所以,我想使用concat(). 我该如何解决这个问题?

Mae*_*ain 34

您可以在 pandas DataFrame 中转换您的字典

import pandas as pd
df = pd.DataFrame(columns=['Name', 'Weight', 'Sample'])
for key in my_dict:
  ...
  #transform your dic in DataFrame
  new_df = pd.DataFrame([row])
  df = pd.concat([df, new_df], axis=0, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)