gpt4 book ai didi

python - 将数据复制到 Python/Pandas 中的另一列

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:32 24 4
gpt4 key购买 nike

我有一个 ip 数据包作为 CSV 文件,我试图从信息字段中提取序列号到一个单独的列,该列只有序列号。序列号是信息字符串中间的子字符串。所以这是我的原始代码。首先,我为序列号创建一个新列,然后我检查信息字段是否包含序列号,然后我拆分信息字段,这样我只得到序列号。如果我在“Seq = j.split...”之后打印,我会得到正确的值。如何将其写入 CSV 文件的 Seq 列?

file = pd.read_csv(file.csv)

file['Seq'] = None
for i in file['Info']:
if 'Seq' in i:
split = i.split(' ')
for j in split:
if 'Seq=' in j:
Seq = j.split('Seq=',1)[1]
file.loc[i,'Seq'] = int(Seq)

示例 CSV:

No. Time        Source      Destination Protocol    Length  Info  
1 0.000000 sourceip 192.168.0.1 TCP 54 35165 > 80 [SYN] Seq=0 Win=16384 Len=0
2 0.000001 sourceip 192.168.0.1 TCP 54 14378 > 80 [SYN] Seq=0 Win=16384 Len=0
3 0.000003 sourceip 192.168.0.1 TCP 54 31944 > 80 [SYN] Seq=0 Win=16384 Len=0

期望的结果:

No. Time        Source      Destination Protocol    Length  Info                                   Seq  
1 0.000000 sourceip 192.168.0.1 TCP 54 35165 > 80 [SYN] Seq=0 Win=16384 Len=0 0
2 0.000001 sourceip 192.168.0.1 TCP 54 14378 > 80 [SYN] Seq=0 Win=16384 Len=0 0
3 0.000003 sourceip 192.168.0.1 TCP 54 31944 > 80 [SYN] Seq=0 Win=16384 Len=0 0

最佳答案

使用str.extract

file['Seq'] = file.Info.str.extract('Seq=(\d+)', expand=False).astype(float)

关于python - 将数据复制到 Python/Pandas 中的另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43414760/

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