PYTHON中join的使用方法:将序列中的元素以指定的字符连接生成一个新的字符串。

可连接的序列包括:字符串,列表,集合,元祖,字典

应用:对于DataFrame,取出某列后,利用apply函数分别对每行进行join

1、连接的序列为列表

如name列目前为列表方式存储,需要将每个列表中的名字使用空格间隔开,而不是逗号

df1=pd.DataFrame({ 'sex':list('FFMFMMF'),'smoker':list('YNYYNYY'),'name':[["zho","ds"],["def","as"],["qw","ws"],["dr","at"],["zho","ds"],["def","as"],["qw","ws"]],'weight':[120,100,132,140,94,89,123]})
print(df1)

def join(text):
    return " ".join(text)
print(df1["name"].apply(join))

结果:

#打印df1
 sex smoker        name  weight
0   F      Y  [zho, ds]     120
1   F      N  [def, as]     100
2   M      Y   [qw, ws]     132
3   F      Y   [dr, at]     140
4   M      N  [zho, ds]      94
5   M      Y  [def, as]      89
6   F      Y   [qw, ws]     123
#打印df1["name"]
0    [zho, ds]
1    [def, as]
2     [qw, ws]
3     [dr, at]
4    [zho, ds]
5    [def, as]
6     [qw, ws]
Name: name, dtype: object

#打印join空格后的name列
0    zho ds
1    def as
2     qw ws
3     dr at
4    zho ds
5    def as
6     qw ws
Name: name, dtype: object

2、连接的序列为字符串

df2=pd.DataFrame({ 'sex':list('FFMFMMF'),'smoker':list('YNYYNYY'),'name':["zho","ds","def","as","qw","ws","dr"],'weight':[120,100,132,140,94,89,123]})
print(df2)
print(df2["name"])
def join(text):
    return " ".join(text)
print(df2["name"].apply(join))

结果:

#打印df2
  sex smoker name  weight
0   F      Y  zho     120
1   F      N   ds     100
2   M      Y  def     132
3   F      Y   as     140
4   M      N   qw      94
5   M      Y   ws      89
6   F      Y   dr     123
#打印df2["name"]
0    zho
1     ds
2    def
3     as
4     qw
5     ws
6     dr
#打印join空格后的name列
0    z h o
1      d s
2    d e f
3      a s
4      q w
5      w s
6      d r
Name: name, dtype: object

本文地址:https://blog.csdn.net/qq_40433737/article/details/110881184