基于一列元素在熊猫上创建新列

我有一个带有这样列的数据框:


    column_1                    

0   0.25 / 0 / 0.25 / -0.25     

1   -0.25 / 0 /1                

2   0 / -0.5 / -0.25            

3   1/ 0.25 / -0.75             

每行由连续数字链组成(由 / 分隔)我想创建 2 个新列,并只保留第一个元素和最后一个元素,如下例所示


    column_1                     new_column_1st_element   new_column_last_element

0   0.25 / 0 / 0.25 / -0.25      0.25                     -0.25

1   -0.25 / 0 /1                 -0.25                    1

2   0 / -0.5 / -0.25             0                        -0.25

3   1/ 0.25 / -0.75              1                        -0.75


慕盖茨4494581
浏览 147回答 3
3回答

杨__羊羊

干得好:df['new_column_1st_element'] = df.column_1.str.split('/').str[0]df['new_column_last_element'] = df.column_1.str.split('/').str[-1]输出                  column_1 new_column_1st_element new_column_last_element0  0.25 / 0 / 0.25 / -0.25                  0.25                    -0.251             -0.25 / 0 /1                 -0.25                        12         0 / -0.5 / -0.25                     0                    -0.253          1/ 0.25 / -0.75                      1                   -0.75

慕沐林林

假设column_1有字符串数据类型的数据df['new_column_1st_element'] = df.apply(lambda row: row['column_1'].split('/')[0], axis = 1)同样,这可以为new_column_last_element

慕田峪9158850

Series.str.extract与给定的正则表达式模式一起使用:df[['first', 'last']] = df['column_1'].str.extract(r'([^/]+).*?([^/]+)$')结果:# print(df)column_1                    first     last0  0.25 / 0 / 0.25 / -0.25   0.25    -0.251             -0.25 / 0 /1  -0.25        12         0 / -0.5 / -0.25      0    -0.253          1/ 0.25 / -0.75      1    -0.75您可以测试regex模式here。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python