list - 从数据框中的字符串列表中提取元素(非破坏性)
问题描述
有人将此问题标记为其他帖子的副本,但没有完全理解该问题,并且可能缺少一个细节,这可能导致他们得出这个结论,所以我不得不再次发布它并进行一次小的编辑。
我有一个数据框,其中有一列如下所示:
Row 1: ['EC']
Row 2: ['EP', 'PY']
...
Row 13978: ['EC']
此列是通过对包含上述两个字母代码的字符串列使用正则表达式创建的,这些代码表示括号内模拟代码的连续运行中的故障条件:
df1['Error Code(s)']=df1['Error Code(s)'].apply(lambda x: re.findall('\((.*?)\)',x))
现在,对于分析中的一个步骤,我需要为每次运行访问错误代码列表中的第一个元素。我写:
df1['Error Code 1']=df1['Error Code(s)'].apply(lambda x: x[0])
我得到的错误:
IndexError: list index out of range
我已经将数据框写入 Excel 文件,阅读该列以确保我有一个字符串列表。当我创建一个虚拟字符串列表并尝试引用该列表中的 [0] 元素(不涉及数据框)时,它工作正常。但是在数据框列上加入 lambda 函数,它就会窒息。
我快速浏览了 Excel 文件中的整个列,没有一个列表看起来很奇怪,所以这不仅仅是因为糟糕的数据而窒息的好代码。
我也尝试使用 re.search() 而不是 re.findall(),然后在 lambda 函数上使用 .group[0]。我得到一个不同的错误。无论哪种方式,我都无法继续前进。我是 Python 的新手,所以我确信我缺少一些基本的东西。
解决方案
推荐阅读
- docker - Docker Stack 部署组合无法正常工作
- java - 无法再在任何 IDE 上运行 JavaFX
- angular - Angular 应用程序无法在 Docker 中启动,缺少 angular-devkit package.json
- java - 如何测试以查看 java Junit 5 中的抽象方法?
- java - Java SimpleDateFormat 将字符串数组列表转换为日期列表
- python - GeocoderUnavailable:使用 geopy 和 Nominatim 的某些地址的 HTTPSConnectionPool 错误
- c# - 是否可以从同一个应用程序登录到两个不同的 Application Insights 实例?
- r - R中的数据可视化澄清密度/直方图
- go - Librdkafka Go 消费者和 websocket 问题
- gtkmm - 如何在 gtkmm3 中使用单选按钮?