假设我在csv文件中有大数据:
frame.number frame.len frame.cap_len frame.Type
1 100 100 ICMP
2 64 64 UDP
3 100 100 ICMP
4 87 64 ICMP
我想根据帧的长度更改帧的类型。 第一个问题是我不知道如何提取列的等级,然后像这样改变帧类型:
if frame.len==100 then it puts frame.type=ICMP_tt else if frame.len==87 then it puts frame.type=ICMP_nn
我希望它看起来像这样:
frame.number frame.len frame.cap_len frame.Type
1 100 100 ICMP_tt
2 64 64 UDP
3 100 100 ICMP_tt
4 87 64 ICMP_nn
我尝试使用此代码,但它没有做任何修改。
import pandas
df = pandas.read_csv('Test.csv')
if df['frame.len'] == 100:
df['frame.type'].replace("ICMP_tt")
如果你能帮助我,我将非常感激。
答案 0 :(得分:0)
类似的问题:How to conditionally update DataFrame column in Pandas
import pandas
df = pandas.read_csv('Test.csv')
df.loc[df['frame.len'] == 100, 'frame.Type'] = "ICMP_tt"
df.loc[df['frame.len'] == 87, 'frame.Type'] = "ICMP_nn"
df
应该做的伎俩。给df.loc[]
的第一个项是一个充满True / False值的数组,告诉它要更新哪些行(如果我没记错的话,也会接受单个数字作为行索引),第二个项指定要更新的列。