Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python熊猫:如何在日期框中删除项目_Python_Pandas_Numpy - Fatal编程技术网

python熊猫:如何在日期框中删除项目

python熊猫:如何在日期框中删除项目,python,pandas,numpy,Python,Pandas,Numpy,我的日期框中有大量的点,所以我想删除其中的一些点(理想情况下保持平均值) e、 目前我有 date calltime 0 1491928756414930 4643 1 1491928756419607 166 2 1491928756419790 120 3 1491928756419927 142 4 1491928756420083 121 5 1491928756420217 109 6

我的日期框中有大量的点,所以我想删除其中的一些点(理想情况下保持平均值)

e、 目前我有

    date                calltime
0   1491928756414930    4643
1   1491928756419607    166
2   1491928756419790    120
3   1491928756419927    142
4   1491928756420083    121
5   1491928756420217    109
6   1491928756420409    52
7   1491928756420476    105
8   1491928756420605    35
9   1491928756420654    120
10  1491928756420787    105
11  1491928756420907    93
12  1491928756421013    37
13  1491928756421062    112
14  1491928756421187    41
根据抽样情况,有没有办法减少一些物品的数量

提供更多细节。我的问题是非常接近间隔的值的数量,例如1491928756421062和1491928756421187

所以我有一张像这样的图表

相反,我想知道这些紧密间隔的平均值。但可能是按秒分组…

我会使用
sample()
,但正如您所说,它随机选择。如果要根据某些逻辑进行采样,例如,仅保留值为
mean*.9
的行,可以尝试以下代码。实际上,这完全取决于您的采样策略

举个例子,类似的事情是可以做到的

test.csv:

1491928756414930,4643
1491928756419607,166
1491928756419790,120
1491928756419927,142
1491928756420083,121
1491928756420217,109
1491928756420409,52
1491928756420476,105
1491928756420605,35
1491928756420654,120
1491928756420787,105
1491928756420907,93
1491928756421013,37
1491928756421062,112
1491928756421187,41
抽样:

df = pd.read_csv("test.csv", ",", header=None)
mean = df[1].mean()
my_sample = df[(mean *.90 < df[1]) & (df[1] < mean * 1.10)]
df=pd.read\u csv(“test.csv”,“test.csv”,“header=None”)
平均值=df[1]。平均值()
我的样本=df[(平均值*.90
您正在寻找的

这是一个更完整的例子

tidx = pd.date_range('2000-01-01', periods=10000, freq='10ms')
df = pd.DataFrame(dict(calltime=np.random.randint(200, size=len(tidx))), tidx)

fig, axes = plt.subplots(2, figsize=(25, 10))
df.plot(ax=axes[0])
df.resample('s').mean().plot(ax=axes[1])

fig.tight_layout()

dateframe有一个sample()方法,它对您不起作用吗?嗯。。样本给出随机值。我又不是在贬低价值你在找什么样的样品?是否有要删除值的条件?
tidx = pd.date_range('2000-01-01', periods=10000, freq='10ms')
df = pd.DataFrame(dict(calltime=np.random.randint(200, size=len(tidx))), tidx)

fig, axes = plt.subplots(2, figsize=(25, 10))
df.plot(ax=axes[0])
df.resample('s').mean().plot(ax=axes[1])

fig.tight_layout()