小编MBl*_*eld的帖子

使用Matplotlib创建CSV数据的实时图

我试图使用Matplotlib可视化一些测量.测量通常持续约24小时,并将包括csv中约30k行的数据.我一直在努力让我的情节实际上是动画.我可以执行代码,它会显示一个截至当前时间点的快照,但不会显示任何其他内容.当我尝试自动缩放它时,没有任何绘图,它只是在两个轴上默认为-.6到+.6的视图.我应该调用plt.draw()来实现这个目的吗?这是我到目前为止:

import numpy as np
import datetime as dt
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import animation

FMT = '%Y-%m-%d %H:%M:%S.%f'
data = np.genfromtxt('sampleData.csv', delimiter=',', skip_header=5,
                 names=['x', 'y', 'z', 'w'], dtype=['object', 'int8', 'int8', 'float'])                  

mytime = [dt.datetime.strptime(i.decode('ascii'), FMT) for i in data['x']]
thickness = data['w']

fig = plt.figure()
axes = fig.add_subplot(111)
line, = axes.plot([], [], '.')
plt.show(block=False)

def init():
    line.set_data([],[]) 
    return line,

fig.canvas.draw()

def animate(i):
    xdata = mytime[:i]
    ydata = thickness[:i]
    line.set_data(xdata, ydata)
    plt.draw()
    axes.relim()
    axes.autoscale(True,'both',True) 
    axes.autoscale_view(True,True,True)
    return …
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib python-3.x

4
推荐指数
1
解决办法
3592
查看次数

Pandas 数据框 - 使用开始和结束对重塑列

我一直在试图找出一种方法来转换这个数据框。它只包含两列;一种是时间序列数据,另一种是事件标记。这是初始数据帧的示例:

df1 = pd.DataFrame({'Time': ['1:42 AM','2:30 AM','3:29 AM','4:19 AM','4:37 AM','4:59 AM','5:25 AM','5:33 AM','6:48 AM'], 
                    'Event': ['End','Start','End','Start','End','Start','Start','End','Start']})
Run Code Online (Sandbox Code Playgroud)

这就是我希望转换后的样子:

df2 = pd.DataFrame({'Start': ['', '2:30 AM', '4:19 AM', '4:59 AM', '5:25 AM', '6:48 AM'],
                    'End': ['1:42 AM', '3:29 AM', '4:37 AM', '', '5:33 AM', '']})
Run Code Online (Sandbox Code Playgroud)

本质上,我想将事件标记为新列,并在事件发生时将开始时间和结束时间在表格中配对。

此示例包括有时会发生的两种异常:

  1. 第一行数据是“结束”标记(数据按日期截断)。
  2. 有时,特定“开始”标记不会有“结束”标记(作业失败或在报告运行时未完成)。

我查看了pivotpivot_table但无法添加获得我想要的输出的索引。很确定这应该是可能的,我只是还不是数据帧方面的专家。

python pivot dataframe pandas

4
推荐指数
1
解决办法
68
查看次数

标签 统计

python ×2

csv ×1

dataframe ×1

matplotlib ×1

pandas ×1

pivot ×1

python-3.x ×1