python - Pandas Dataframe 查找和子字符串
问题描述
我想根据 str.find() 的结果对数据框的列进行子串化
我找到了每行字符串的起点,并将其存储在一个新列中
orders["test"]= orders["meta_data"].str.find("utm_source:").astype(int)
现在我想在发现之后删掉 20 个字符:
orders["test2"] = orders["meta_data"].str[orders["test"] : orders["test"]+20]
这不起作用,我猜是因为 orders["test"] 是一个系列。但我不知道如何从正确的行中提取该特定数字
现在我得到 NaN 值,但预期的输出将是 20 个字符的字符串。
干杯,E。
解决方案
使用DataFrame.apply
withaxis=1
和 lambda 函数处理每行:
orders["test2"] = orders.apply(lambda x: x["meta_data"][x["test"] : x["test"]+20], axis=1)
推荐阅读
- sql - 在 MS SQL 中用单个逗号替换多个逗号
- amazon-web-services - 根据有效负载拆分用于迁移的 http 流量
- swift - 敌人受到多重伤害 - Swift,Xcode 8.2.1
- python - 枕头模块 - 裁剪和保存时的色调变化(无转换)
- javascript - 在javascript中复制数组的自定义方法
- android - 错误和警告:配置“编译”已过时,已替换为“实施”和“API”。
- android - 具有动态适配器大小的嵌套回收器视图
- rabbitmq - Rabbitmq 无缝升级,无需停机
- c# - FlowDocumentScrollViewer 在滚动时崩溃
- ionic-framework - Ionic 3 + Protractor 触发滑动手势(e2e 测试应在 Chrome 浏览器或通过 Appium 的设备上运行??)