首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据帧对数据帧的-Plotting索引

数据帧对数据帧的-Plotting索引
EN

Stack Overflow用户
提问于 2020-06-25 04:17:11
回答 1查看 44关注 0票数 0

我需要绘制几个索引值,如Pandas - Calculate Relative time from csv中所述

样本数据

这是一个巨大的文件,这只是其中的一个片段。

代码语言:javascript
复制
highest_layer,transport_layer,src_ip,dst_ip,src_port,dst_port,ip_flag,packet_length,transport_flag,time,timestamp,geo_country,data
    LAN_DISCOVERY,UDP,192.168.1.6,224.0.0.251,5353,5353,0,82,-1,2020-06-10 19:38:08.479232,1591832288479,Unknown,        LAN_DISCOVERY,UDP,fe80::868:621b:c2ff:cee2,ff02::fb,5353,5353,-1,102,-1,2020-06-10 19:38:08.479261,1591832288479,Unknown,        LAN_DISCOVERY,UDP,192.168.1.3,192.168.1.6,5353,5353,16384,409,-1,2020-06-10 19:38:08.506399,1591832288506,Unknown,
    DNS,UDP,192.168.1.6,192.168.1.1,32631,53,0,89,-1,2020-06-10 19:38:08.863846,1591832288863,Unknown,
    DNS,UDP,192.168.1.6,192.168.1.1,31708,53,0,79,-1,2020-06-10 19:38:08.864186,1591832288864,Unknown,
    DNS,UDP,192.168.1.6,192.168.1.1,16807,53,0,79,-1,2020-06-10 19:38:08.866492,1591832288866,Unknown,
    SSDP,UDP,192.168.1.6,239.255.255.250,58185,1900,0,216,-1,2020-06-10 19:38:08.887298,1591832288887,Unknown,
    TCP,TCP,192.168.1.6,208.117.252.25,53725,443,16384,66,16,2020-06-10 19:38:10.107603,1591832290107,Unknown,
    TCP,TCP,192.168.1.6,208.117.252.25,53725,443,16384,66,16,2020-06-10 19:38:10.109444,1591832290109,Unknown,
    TCP,TCP,192.168.1.6,208.117.252.25,53725,443,16384,66,16,2020-06-10 19:38:10.109847,1591832290109,Unknown,
    TCP,TCP,192.168.1.6,208.117.252.25,53725,443,16384,66,16,2020-06-10 19:38:10.111238,1591832290111,Unknown,
    TCP,TCP,192.168.1.6,208.117.252.25,53725,443,16384,66,16,2020-06-10 19:38:10.111676,1591832290111,Unknown,

守则:

代码语言:javascript
复制
datadis = pd.read_csv('data.txt', sep=',')
dfd = (datadis[(datadis.src_port == 53725)])
if not dfd.empty:  # only proceed if the dataframe is not empty
    dfd1 = dfd.drop(columns=['highest_layer', 'transport_layer','ip_flag', 'transport_flag','geo_country','data']).reset_index()
    dfd1.index = dfd1['timestamp'] - dfd1.loc[0,'timestamp']
    dfd2 = dfd1.groupby(['src_ip'])['packet_length'].cumsum()
    dfd2.plot(x='timestamp',y=['packet_length'])

我希望在x轴中绘制相对时间戳(dfd1.index),在y轴中绘制dfd2。假设时间戳的差异从3000开始,我希望地形图在x轴上从3000开始,而不是从0开始(在上面给出的例子中它从0开始)。

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 07:41:18

如果我正确理解,您将尝试将一个dataframe (dfd2)中的时间戳与另一个dataframe (dfd1)的列对应起来。

这样做的简单方法如下:

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.plot(dfd2, dfd1.packet_length)
plt.show()

问题中的样本数据的结果是:

正如您所看到的,x轴不是以0开始,而是以~66开始,这是这个数据中的第一个时间戳。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62567793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档