如何使用基于两个现有列的pandas正确添加新列?

时间:2016-11-21 08:37:14

标签: python pandas

我对Python(和pandas)完全陌生。我真的试图解决这个问题,但是,如果没有得到以下警告,我无法解决它:

df['Full Name'] = df['First Name'] + " " + df['Last Name']

我有两列包含一个人的名字姓氏。我正在寻找的是一种向我的数据框 df 添加新列的方法,其中包含全名。以下代码使用警告:

df.loc[:,'Full Name'] = df.loc[:,['First Name']] + " " + df.loc[:,['Last Name']],

接下来,我试过

<style>
   .panel-heading{    
       padding: 0px; //if not working use !important rule
   }
</style>

无效。

1 个答案:

答案 0 :(得分:0)

首先,您可能想要

df.loc[:,'Full Name'] = df.loc[:,'First Name'].astype(str) + " " + df.loc[:,'Last Name'].astype(str)

df.loc[:,'Full Name'] = df.loc['First Name'].astype(str) + " " + df.loc['Last Name'].astype(str)

(。astype(str)在你的情况下可能太多了)

然后,您可能仍会收到警告,原因可以在邮件中看到(请查看此答案Pandas still getting SettingWithCopyWarning even after using .loc

这里简短的回答是写

 df.is_copy=False
 df.loc[:,'Full Name'] = df.loc[:,'First Name'].astype(str) + " " + df.loc[:,'Last Name'].astype(str)