gpt4 book ai didi

python - 从每一行中删除字符串标签

转载 作者:行者123 更新时间:2023-12-01 04:41:52 26 4
gpt4 key购买 nike

我正在使用 pandas 读取 csv 列,其中每一行都具有以下格式:

IP: XXX:XX:XX:XXX

为了摆脱 IP: 前缀,我正在事后编辑该列:

日志['ip'] = 日志['ip'].str[4:]

有没有办法在 read_csv 中执行此操作(也许使用正则表达式)以避免后期计算?

更新 |考虑这种情况,其中有多个具有这些前缀的列 - 有更好的方法吗?

日志['mac'] = 日志['mac'].str[5:]
日志['id'] = 日志['id'].str[4:]
日志['lan'] = 日志['lan'].str[5:]
日志['ip'] = 日志['ip'].str[4:]

最佳答案

read_csv的converters选项可能提供一种有用的方法。假设该文件如下所示:

id       address
1 IP:123.1.1.1
2 IP:456.1.1.1
3 IP:789.1.1.1

然后您可以指定将 'IP:' 转换为 ''(空白),如下所示:

dct = { 'address': lambda x: x.replace('IP:','') }

df = pd.read_csv( 'foo.txt', delimiter=' *', converters=dct )

id address
0 1 123.1.1.1
1 2 456.1.1.1
2 3 789.1.1.1

我忽略了一个稍微复杂的问题,即如果 IP: 之后有一个空格,那么您可能会在它自己的列中读取 IP:,但您应该能够相当容易地适应这个来处理这个问题。

关于python - 从每一行中删除字符串标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30491069/

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