提问者:小点点

在Pandas,int和str中创建新列时遇到麻烦


我试图在我的数据帧中创建一个新列,但一直收到以下错误消息:

类型错误:“<>” 在“str”和“int的实例之间不支持

两列的数据类型均为“object”。 我首先尝试这样做:

   ops['Plan ID'] = ops['Plan ID'].astype(str) 

   ops['Client Name'] = ops['Client Name'].astype(str) 

并执行此操作以创建一个新列:

ops['new']=ops['计划ID']+ops['客户端名称']

但我仍然收到错误信息。

下面是专栏

Plan ID   Client Name
1          Jack
2          John
3          Bob
4          Mark

下面是我希望新专栏的内容:

1Jack
2John
3Bob
4Mark

共2个答案

匿名用户

您将希望使用str.cat,而不是简单地将两列添加在一起。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.series.str.cat.html

像下面这样的东西应该可以解决这个问题。


ops['new'] = ops['Plan ID'].str.cat([ops['Client Name']])

匿名用户

在没有更改原始列的情况下,我使用

df['new_col'] = df['Plan ID'].astype(str) + df['Client Name']

我尝试为计划ID以及客户端名称引入np.nan值