Sie können join
verwenden, wenn Werte lists
:
df = pd.DataFrame({'col':[['Yuengert Andrew M.'],
['Chen Tianxu', 'Tribbitt Mark A.', 'Yang Yi', 'Li Xi'],
['Wright Chadwick L.', 'Niederkohr Ryan D.', 'Knopp']]})
print (df)
col
0 [Yuengert Andrew M.]
1 [Chen Tianxu, Tribbitt Mark A., Yang Yi, Li Xi]
2 [Wright Chadwick L., Niederkohr Ryan D., Knopp]
print (type(df.loc[0, 'col']))
<class 'list'>
df['col'] = df['col'].apply('; '.join)
print (df)
col
0 Yuengert Andrew M.
1 Chen Tianxu; Tribbitt Mark A.; Yang Yi; Li Xi
2 Wright Chadwick L.; Niederkohr Ryan D.; Knopp
Eine andere Lösung:
df['col'] = ['; '.join(x) for x in df['col']]
print (df)
col
0 Yuengert Andrew M.
1 Chen Tianxu; Tribbitt Mark A.; Yang Yi; Li Xi
2 Wright Chadwick L.; Niederkohr Ryan D.; Knopp
Aber wenn strings
Series.replace
^
Spiel Beginn der Zeichenfolge und $
Ende string:
df = pd.DataFrame({'col': ['[Yuengert Andrew M.]',
'[Chen Tianxu, Tribbitt Mark A., Yang Yi, Li Xi]',
'[Wright Chadwick L., Niederkohr Ryan D., Knopp]']})
print (df)
col
0 [Yuengert Andrew M.]
1 [Chen Tianxu, Tribbitt Mark A., Yang Yi, Li Xi]
2 [Wright Chadwick L., Niederkohr Ryan D., Knopp]
print (type(df.loc[0, 'col']))
<class 'str'>
df['col'] = df['col'].replace(['^\[|\]$', ','],['', ';'],regex=True)
print (df)
col
0 Yuengert Andrew M.
1 Chen Tianxu; Tribbitt Mark A.; Yang Yi; Li Xi
2 Wright Chadwick L.; Niederkohr Ryan D.; Knopp
Eine andere Lösung mit str.strip
und str.replace
:
df['col'] = df['col'].str.strip('[]').str.replace(',', ';')
print (df)
col
0 Yuengert Andrew M.
1 Chen Tianxu; Tribbitt Mark A.; Yang Yi; Li Xi
2 Wright Chadwick L.; Niederkohr Ryan D.; Knopp