繁体   English   中英

Pandas:根据某些Column的字符串值将Dataframe拆分为单独的Dataframe

[英]Pandas: Split a Dataframe into separate Dataframes based on certain Column's string values

没有找到任何我可以应用于我的问题的答案,所以在这里:

我有一个初始的图像数据框,我想根据该图像的描述将其分成两部分,这是“描述”列中的一个字符串。

我的问题是并非所有描述都是同等的。 这是我的意思的一个例子:

在此输入图像描述

有些图像是加速的,有些则不是。 这是我想用来分割数据集的标准。

然而,即使加速和非加速图像描述也各不相同。

我的策略是将其中包含“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]

您可以使用contains来查找包含子字符串ACC的行:

df['Description'].str.contains('ACC')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM