【问题标题】:Pandas: Split a Dataframe into separate Dataframes based on certain Column's string values熊猫:根据某些列的字符串值将数据框拆分为单独的数据框
【发布时间】:2019-04-21 04:11:25
【问题描述】:

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

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

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

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

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

我的策略是将每个包含“ACC”的字符串(这将涵盖所有加速图像)重命名为“ACCELERATED IMAGE”。

那么我可以这样做:

df_Accl = df[df.Description == "ACCELERATED IMAGE"]
df_NonAccl = df[df.Description != "ACCELERATED IMAGE"]

我怎样才能做到这一点?这只是我想出的一个策略,如果有任何其他更有效的方法可以随意说出来。

【问题讨论】:

标签: python string pandas dataframe


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以使用str.contains 作为布尔掩码 - 然后按boolean indexing 过滤。

    对于反转掩码使用~,过滤行不包含ACC

    mask = df.Description.str.contains("ACC")
    df_Accl = df[mask]
    df_NonAccl = df[~mask]
    

    【讨论】:

    • 这行得通(而且它比我想的策略更有效)!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2015-06-25
    • 2021-06-14
    • 2015-11-14
    • 2015-01-15
    • 2019-02-12
    相关资源
    最近更新 更多