2024-10-01 11:35:30 发布
网友
使用pandas读取excel文件。 以下代码适用于一列:
data["ProtocolTCP"] = data["ProtocolTCP"].str.replace("tcp-", "tcp ")
但是,我发现一些单元格在字符串中间有值,不想改变这些值。
我怎样才能将相同的命令仅应用于那些仅以“tcp-”开头的字符串
我认为一个“lambda”命令会起作用,但很难弄清楚。或者也许有比lambda更好的选择
您可以使用np.where(),它比lambda性能更好,我认为:
np.where()
data["ProtocolTCP"] = np.where(data["ProtocolTCP"].startswith("tcp-"),data["ProtocolTCP"].str.replace("tcp-","tcp "),data["ProtocolTCP"])
使用列表理解的另一个选项:
data["ProtocolTCP"] = [x.replace("tcp-","tcp ") if x.startswith("tcp-") for x in data["ProtocolTCP"].values]
您可以添加^
^
data["ProtocolTCP"] = data["ProtocolTCP"].str.replace("^tcp-", "tcp ")
您可以使用
np.where()
,它比lambda性能更好,我认为:使用列表理解的另一个选项:
您可以添加
^
相关问题 更多 >
编程相关推荐