Python Concat数据帧的两列值
我有一个数据帧,如下所示:Python Concat数据帧的两列值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧,如下所示: Name Age 0 Alex 10 1 Bob 12 2 Clarke 13 数据帧创建为: data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data,columns=['Name','Age']) 我想执行两列的字符串连接,如下所示: Name Age 0 10 Alex 10 1 12 Bob 1
Name Age
0 Alex 10
1 Bob 12
2 Clarke 13
数据帧创建为:
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'])
我想执行两列的字符串连接,如下所示:
Name Age
0 10 Alex 10
1 12 Bob 12
2 13 Clarke 13
我尝试使用df[“Name”]=df[“Age”]+“”+df[“Name”]
,结果出现以下错误:
回溯(最近一次调用):文件“”,第1行,在
文件
“/anaconda3/envs/env1/lib/python3.6/site packages/pandas/core/ops/common.py”,
第65行,采用新方法
返回方法(self,other)文件“/anaconda3/envs/env1/lib/python3.6/site packages/pandas/core/ops/init.py”,
第343行,在包装器中
结果=算术运算文件“/anaconda3/envs/env1/lib/python3.6/site packages/pandas/core/ops/array_ops.py”,
第189行,算术运算
res_values=na_算术_op(左值,右值,op)文件“/anaconda3/envs/env1/lib/python3.6/site packages/pandas/core/ops/array_ops.py”,
第149行,在na_算术运算中
结果=屏蔽的数组(左、右、op)文件“/anaconda3/envs/env1/lib/python3.6/site packages/pandas/core/ops/array_ops.py”,
第111行,在蒙面上
结果[mask]=op(xrav[mask],y)numpy.core.\u exceptions.ufunctype错误:ufunc“add”不包含
使用签名匹配类型(dtype)循环(“由于
Age
是int
列,因此需要使用astype将其强制转换为str
In [2511]: df['Name'] = df["Age"].astype(str) + " " + df["Name"]
In [2511]: df['Name']
Out[2511]:
0 10 Alex
1 12 Bob
2 13 Clarke
以下是一个可能的解决方案:
df['Name'] = df['Age'].map(str) + ' ' + df['Name']
您可以使用:
df['Name']=df['Age'].apply(lambda x:str(x))+''+df['Name']
我们可以使用apply函数将数据帧“Age”列从int转换为字符串,然后使用“+”运算符将其连接到“Name”列
df[“name”]=df[“age”]。应用(str)+“+df[“name”]
df[“名称”]
输出将如下所示
0 10 Alex
1 12 Bob
2 13 Clarke
0 10亚历克斯
112鲍勃
2.13克拉克
好的,下次我会说这个答案和我的答案一样,稍后会发布@Ch3steROk,对不起,我理解你的观点,请随意发布,我会投赞成票。不必为它经常发生而感到抱歉,所以用户会发布相同的答案,我对你的评论有点惊讶。你发布了很多很酷的答案,我从中学习我是你。这不是关于代表TBH。我是《熊猫》杂志的撰稿人,我也知道一点熊猫:PIt有效,但我只能接受一个答案。我投了赞成票。它有效,但我只能接受一个答案。我投了赞成票。它有效,但我只能接受一个答案。我投了赞成票。
0 10 Alex
1 12 Bob
2 13 Clarke