我使用python,matplotlib和pandas来过滤我的日志文件。
我的日志文件包含两列,如下所示:
column_name = ["TIME", "IDPKT"]
第二栏" IDPKT"在我的模拟中包含数据包的id,其形式如下:1.1; 1.2; 1.10;等等 因此,Ids 1.1和1.10是两个不同的数据包(1.1是节点1生成的第一个数据包,1.10是节点1也生成的第十个数据包)。
因此,python会自动将此列读取为浮点数。它认为不同的ID 1.10的问题; 1.100; 1.1000为1.1。
这个问题在我的工作中引起了很大的问题,因为它们生成了不同的数据包并且它只计算1.1。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
问题是你正在以float形式读取数据(pandas会自动执行此操作,因为它看起来像浮点数),但是你想把它当作一个字符串来对待它。您可以在读取时指定数据类型,例如:
df = pd.read_csv(filename, sep=";", header=None, names=column_name, dtype={'IDPKT':'str'})