我有df
,如下所示,我将按列分拆。
>>> df
ID Started
0 NaN 20.06.2017 13:19:04
1 NaN 10.04.2018 04:48:32
2 WBTS-1509 06.11.2017 10:28:14
3 WBTS-1509 03.03.2018 10:12:29
4 WBTS-1117 07.03.2018 17:04:28
df['Started'].apply(lambda x: x.split(':')[0])
df['ID'].apply(lambda x: x.split('-')[1])
我想设置3个列表变量
col_names = ['ID' , 'Started']
splitby = ['-' , ':']
index_after_split = [1 , 0]
使用inplace = True
使用一行(避免循环)进行拆分。
请帮我做同样的事。
谢谢
答案 0 :(得分:1)
我认为这里需要循环str.split
并按str[]
索引:
for a,b,c, in zip(col_names, splitby, index_after_split):
df[a] = df[a].str.split(b).str[c]
print (df)
ID Started
0 NaN 20.06.2017 13
1 NaN 10.04.2018 04
2 1509 06.11.2017 10
3 1509 03.03.2018 10
4 1117 07.03.2018 17