python-3.x - Pandas - 基于关键词提取
问题描述
我正在尝试使用以下条件从一行中提取部分文本:
df['output'] = df['subject'].str.split('Class : ').str[1]
上面的代码运行良好,但是如果该行有多个值,Class
我该如何修改它以提取最后一个。
例子:
subject, output
Class Name : Science, Science
Class : Class Assigned Class : Math, Class Assigned Class : Math
我如何更改代码以修复预期输出所在的第二行的输出,Math
但由于该单词Class
多次出现,因此它从第一次出现中获取。
解决方案
您的示例非常令人困惑,因为它并没有真正做到您所描述的或您的示例代码所做的事情。第一行根本没有拆分,因为拆分条件"Class : "
从未出现,第二行的拆分与您显示的不同 - 它"Class Assigned"
在列表的元素 1 中输出。
也就是说,仅使用 [-1] 进行索引就可以很好地使第二行Math
作为输出获得。
推荐阅读
- php - 如何在 Telegram 机器人中使用 reply_to_message_id?
- c# - 对soap服务中的外部api的异步请求
- c++ - WiFiClientSecure setCaCert 不接受我的参数
- python - 如何使用 REST API 更新 Jira 中的标签类型?
- reactjs - 日历标记 react-native-calendars
- maven - 当 Cucumber 场景失败时 mvn test 不会失败
- python - 从多个熊猫数据框创建一个矩阵
- python - 仅将选定信息从二维数组复制到另一个二维数组
- flutter - firestore 数组:“String”类型不是“int”类型的子类型
- android - Android:暗模式下的颜色反转