python - Pandas:根据某些列的字符串值将数据框拆分为单独的数据框
问题描述
还没有找到任何可以应用于我的问题的答案,所以这里是:
我有一个图像的初始数据框,我想根据该图像的描述将其分成两部分,该描述是“描述”列中的一个字符串。
我的问题是并非所有描述都写得一样。这是我的意思的一个例子:
一些图像被加速,而另一些则没有。这就是我想用来分割数据集的标准。
然而,即使是加速和非加速图像描述也各不相同。
我的策略是将其中包含“ACC”的每个字符串(这将涵盖所有加速图像)重命名为“ACCELERATED IMAGE”。
然后我可以这样做:
df_Accl = df[df.Description == "ACCELERATED IMAGE"]
df_NonAccl = df[df.Description != "ACCELERATED IMAGE"]
我怎样才能做到这一点?这只是我想出的一个策略,如果有任何其他更有效的方法可以随意说出来。
解决方案
您可以使用str.contains
布尔掩码 - 然后过滤boolean indexing
。
对于使用反转掩码~
,过滤行不包含ACC
:
mask = df.Description.str.contains("ACC")
df_Accl = df[mask]
df_NonAccl = df[~mask]
推荐阅读
- r - 使用R根据值的变化从数据框中提取多行
- java - Java - 有没有办法生成随机但确定性的信号?
- html - 如何使用 html 和 css 在同一行设置两张图片?
- r - 根据存在缺席值将R数据框列插入数据框
- wcf - 与 BizTalk 2013r2 一起使用的 IIS 托管 WCF 服务上的客户端证书位置
- python - 如果 OpenCV 是用 pip 安装的,有没有办法从“samples”文件夹中读取图像?
- r - 确定向量的内容主要是正数还是负数
- javascript - 在 useEffect 挂钩中定义的函数内的状态变量在值更改时不会更新
- windbg - WinDbg 无法加载扩展
- r - 如何在 R 中计算卫星数据的区域(国家)平均值?