gpt4 book ai didi

python - 如何用条件拆分 Pandas 列

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:14 25 4
gpt4 key购买 nike

我有一个日志 df,在那个 df 中我有列描述。看起来像。

Description
Machine x : Turn off
Another action here
Another action here
Machine y : Turn off
Machine x : Turn on
Another action here

我只需要用“:”分割行

喜欢:

Description               Machine           Action
Machine x : Turn off Machine x Turn off
Another action here
Another action here
Machine y : Turn off Machine y Turn off
Machine x : Turn on Machine x Turn on
Another action here

我已经试过了:

s = df["Description"].apply(lambda x:x.split(":"))
df["Action"] = s.apply(lambda x: x[1])
df["Machine"] = s.apply(lambda x: x[0])

还有一些带有“startswith”的东西。

最佳答案

您可以将 str.extract 与合适的 regex 一起使用。这将找到 : 周围的所有值(同时去除冒号周围的空格):

df[['Machine', 'Action']] = df.Description.str.extract('(.*) : (.*)',expand=True)

>>> df
Description Machine Action
0 Machine x : Turn off Machine x Turn off
1 Another action here NaN NaN
2 Another action here NaN NaN
3 Machine y : Turn off Machine y Turn off
4 Machine x : Turn on Machine x Turn on
5 Another action here NaN NaN

# df[['Machine', 'Action']] = df.Description.str.extract('(.*) : (.*)',expand=True).fillna('')

关于python - 如何用条件拆分 Pandas 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com