小编Phi*_*nce的帖子

如何将时间范围绘制为Pandas或MatPlotLib中的值

我有几个包含时间序列数据的DataFrame,并希望创建每个DataFrame的时间范围跨度的简单可视化.由于我无法使用代码生成此代码,因此我添加了草图来说明我的目标.

时间范围图

下面是一些代码,用于创建三个基本上简化的DataFrame,我正在使用的DataFrame的较小版本.

from pandas import DataFrame
from numpy import datetime64, random

# example data recorded by two different sensors
example_data = random.rand(5,2)
example_data2 = random.rand(9,2)
example_data3 = random.rand(9,2)

# timestamps from sensor1
times = ['2000-01-01 09:00:00',
        '2000-01-01 09:15:00',
        '2000-01-01 09:30:00',
        '2000-01-01 09:45:00',
        '2000-01-01 10:00:00']

# timestamps from sensor2
times2 = ['2000-01-01 08:45:00',
        '2000-01-01 09:00:00',
        '2000-01-01 09:15:00',
        '2000-01-01 09:30:00',
        '2000-01-01 09:45:00',
        '2000-01-01 10:00:00',
        '2000-01-01 10:15:00',
        '2000-01-01 10:30:00',
        '2000-01-01 10:45:00']

# timestamps from sensor2
times3 = ['2000-01-01 09:20:00',
        '2000-01-01 09:40:00',
        '2000-01-01 10:00:00', …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-2.7 pandas

8
推荐指数
1
解决办法
1409
查看次数

如何将标量广播到pandas数据帧中的过滤列

我希望将表达式的结果广播到数据帧,但不是整个列,只是过滤子集.简化如下:

In [6]: df1 = DataFrame({"A":[1, 2, 3, 4], "B":["w", "x", "y", "z"], "C":(numpy.
zeros((4), dtype='S1'))})

In [7]: df1
Out[7]:
   A  B C
0  1  w
1  2  x
2  3  y
3  4  z
Run Code Online (Sandbox Code Playgroud)

所以A和B包含我现有的数据,C列准备输入我的结果.所以我可以如下所示广播到整个专栏:

In [9]: df1['C'] = 'H'

In [10]: df1
Out[10]:
   A  B  C
0  1  w  H
1  2  x  H
2  3  y  H
3  4  z  H
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试广播(在这个例子中,字母"R")到过滤的子集:

In [14]: (df1[df1['A'] > 2])['C']
Out[14]:
2    H
3    H
Name: C
Run Code Online (Sandbox Code Playgroud)

(只是为了证明过滤效果)

所以现在我尝试将"R"分配给这个子集..

In …
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
1067
查看次数

标签 统计

pandas ×2

matplotlib ×1

python ×1

python-2.7 ×1