【发布时间】:2021-10-03 22:38:11
【问题描述】:
我有一个类似于上述矩阵的 excel 文件。
有两个三列,分别是:ID、Object和AE。
我想先创建一个新列,仅复制 Object 列的前两个字母(例如,V2、V3 等)并将它们放入名为 Object1。
其次,我想看看对于新创建的列 Object1 中的任何 V2 值,是否有 AE 的值。如果是这样,我想得到这样的记录。下面给出了一个示例矩阵:
【问题讨论】:
-
我认为你可以这样做
new_df = df[df['Object'].str.startswith('V2')]。或者,如果您只想要AE列中带有“是”的那些,您可以使用new_df = df[df['Object'].str.startswith('V2') & (df['AE']=='Yes')]。 -
@MatthiasFripp。您的代码无法运行,因为它匹配 V20、V21、V30、...
-
@Corralien,问题似乎是说他们想匹配
Object列的前两个字符,我的就是这样。如果这是错误的,发帖人应该澄清这个问题。目前还不清楚他们想要在AE列(如果有的话)中测试什么条件,以及他们是真的想要Object1列还是只是想用它来测试(不在示例输出中)。 -
@MatthiasFripp,在我的实际情况下,Object 值只能达到 V15,这样代码对我来说工作得非常好。非常感谢。也谢谢大家:)