【发布时间】:2021-09-14 10:25:16
【问题描述】:
我有一个如下所示的数据框
df = pd.DataFrame({'person_id': [101,102,103,201,202],
'test_id':['A1:123,A25668','B1:TEST,B2456,B3#123','B3:456','B3:678,C1:345','C2:367,C3']})
我想将: 字符之前的部分提取到一个新列中。
我尝试了以下方法,但效果不佳
df['new_test'] = df['test_id'].str.split(",")
df= df.explode('new_test')
df['new_test_id'] = df['new_test'].str.split(":")[:0] #what index should I give here?
无论我在 start 和 slice 运算符中给出什么,我都无法将列表中的第一项获取到 new_test_id
我希望我的输出如下所示
df['new_test_id']
A1
NaN
B1
NaN
B3
B3
B3
C3
NaN
【问题讨论】:
标签: python pandas dataframe numpy pandas-groupby