【问题标题】:How do I split cell strings if cell value contains a specific word in Python?如果单元格值包含 Python 中的特定单词,如何拆分单元格字符串?
【发布时间】:2022-10-23 23:08:40
【问题描述】:

我正在尝试在 python 中编写一些代码,如果单元格值包含某个单词,它将在单元格中拆分字符串。

我制作了一个示例数据框来解释我面临的挑战。

d = {'Message': [1, 2,3], 'Details': ['I WANT IT ALL', 'HELLO WORLD','NOPE IT IS NOT CORRECT']}
df = pd.DataFrame(data=d)
df

我无法弄清楚这段代码的其余部分。

 d['New Column'] = pd.np.where(d['Details'].str.contains("WANT"),

如果列包含“想要”,则“新列”值 =“想要所有”ELSE 其他。

提前感谢社区。

【问题讨论】:

  • 你能发布输出的示例df吗

标签: python pandas strsplit


【解决方案1】:

干得好。

def get_left(value: str) -> str:
    return df.query("Details.str.contains(@value)").at[0, "Details"].split(value)[0]


df["New Column"] = np.where(df["Details"].str.contains("WANT"), get_left("WANT"), "other")
print(df)

   Message                 Details New Column
0        1           I WANT IT ALL         I 
1        2             HELLO WORLD      other
2        3  NOPE IT IS NOT CORRECT      other

【讨论】:

  • 感谢杰森的回复。然而,这只是一个例子。我真的需要弄清楚如何使用 split 方法。理想情况下拆分分隔符左侧的文本。
  • 如果满足条件,我需要将文本放在字符串的左侧。
  • 见编辑。如果这仍然不符合您的标准,请更新问题以更好地解释,添加预期输出也会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2021-10-06
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多