首页 > 解决方案 > 基于可变长度从数据框列中提取字符串

问题描述

我对 python 非常陌生,并试图运行一个非常简单的任务,在该任务中,我在填充有字符串的数据框列中找到一个特定字符,然后删除右侧的所有字符。我想到的方法是创建一个新列,其中出现该字符串的位置,然后将第一列从 0 过滤到第一次出现的列的长度

df['CharIndex'] = df['String Column'].str.find("(",0)
df['Updated Column']=df['StringColumn'].str[0:df['CharIndex']]

索引列很好,然后重新格式化列完全 NaN。任何提示将不胜感激

编辑以显示我正在尝试做的事情,如果有更好的方法:所以想法是获取一个字符串列,找到特殊字符的索引,然后创建一个更新的列

+-------------------+------------+-----------------+
|     String Column |  CharIndex |  Updated Column |
+-------------------+------------+-----------------+
|     Hello( World  |    5       |    Hello        |
+-------------------+------------+-----------------+

标签: pythonpandasdataframe

解决方案


尝试使用拆分并将值分配给新列

df['update_column'] = df['String Column'].str.split('\(',expand=True)[0]

print(df)

  String Column  CharIndex Updated Column update_column
0  Hello( World          5          Hello         Hello

推荐阅读