Python 3.x 将数据帧整列转换为字符串数据类型

Python 3.x 将数据帧整列转换为字符串数据类型,python-3.x,pandas,Python 3.x,Pandas,我知道你可以用一个系列来做这件事,但我似乎不能用一个数据帧来做这件事 我有以下资料: name note age 0 jon likes beer on tuesdays 10 1 jon likes beer on tuesdays 2 steve tonight we dine in heck 20 3 steve tonight we dine in heck

我知道你可以用一个系列来做这件事,但我似乎不能用一个数据帧来做这件事

我有以下资料:

     name     note                     age
0    jon      likes beer on tuesdays      10
1    jon      likes beer on tuesdays
2    steve    tonight we dine in heck     20
3    steve    tonight we dine in heck
     name     note                     age
0    jon      likes beer on tuesdays      10
1    jon      likes beer on tuesdays      10
2    steve    tonight we dine in heck     20
3    steve    tonight we dine in heck     20
我试图得出以下结论:

     name     note                     age
0    jon      likes beer on tuesdays      10
1    jon      likes beer on tuesdays
2    steve    tonight we dine in heck     20
3    steve    tonight we dine in heck
     name     note                     age
0    jon      likes beer on tuesdays      10
1    jon      likes beer on tuesdays      10
2    steve    tonight we dine in heck     20
3    steve    tonight we dine in heck     20
我知道如何使用GROUPBY和join来处理字符串值,但这只适用于字符串值。我在将整个age列转换为dataframe中的字符串数据类型时遇到问题

有什么建议吗?

如果希望,请与一起使用,每组重复第一个值:

g = df.groupby('name')
df['note'] = g['note'].transform(' '.join)
df['age'] = g['age'].transform('first') 
如果需要处理多个列-这意味着所有的数字都带有
first
,所有的字符串都带有join。您可以使用函数、传递到和最后使用的列名称生成字典:


什么是“第一”?@午餐盒-它意味着团队的第一价值。我需要增加我对转换和分组的知识,但这解决了我的问题。谢谢。@午餐盒-它的工作方式类似于
agg
,只是它会将值重复到新列。如果要将列转换为字符串数据类型,可以使用
df['age']=df['age']。astype(str)