Это решение, объединяющее str.contains
, str.split
и lambda
в np.where
:
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'index':[1,2,3],'Col1':['ABC','ABCD','XYZ Ju21']})
df1['Col2'] = np.where(df1['Col1'].str.contains(' '),df1['Col1'].str.split(' ').apply(lambda x: x[0]),df1['Col1'])
print(df1)
Выход:
index Col1 Col2
0 1 ABC ABC
1 2 ABCD ABCD
2 3 XYZ Ju21 XYZ