小编Ed *_*ith的帖子

按列对python数组/重新排列进行排序

关于如何按给定列对整个数组/重新排列进行排序,我有一个相当简单的问题.例如,给定数组:

import numpy as np
data = np.array([[5,2], [4,1], [3,6]])
Run Code Online (Sandbox Code Playgroud)

我想按第一列对数据进行排序以返回:

array([[3,6], [4,1], [5,2]])
Run Code Online (Sandbox Code Playgroud)

python arrays sorting numpy recarray

30
推荐指数
4
解决办法
4万
查看次数

Heaviside函数的优化实现

我想(超)优化Heaviside函数的实现.

我正在研究一种速度特别重要的数值算法(在Fortran中).它多次使用Heaviside函数,目前由signum内部函数实现如下:

heaviside = 0.5*sign(1,x)+1
Run Code Online (Sandbox Code Playgroud)

我主要感兴趣的是x是intel处理器上的双精度实数.

是否有可能开发更高效的Heaviside功能实现?也许使用汇编语言,超优化代码或调用现有的外部库?

optimization assembly fortran intel fortran2003

10
推荐指数
1
解决办法
3374
查看次数

格式化日期时间变量将缺少的时间值指定为00:00:00.使用Python

我目前正在使用python尝试将datetime列拆分为2,一个用于Date,一个用于时间,并且还使列格式正确.

原始数据集

INCIDENT_DATE
12/31/2006 11:20:00 PM
12/31/2006 11:30:00 PM
01/01/2007 00:25
01/01/2007 00:10
12/31/2006 11:30:00 AM
01/01/2007 00:05
01/01/2007 00:01
12/31/2006 4:45:00 PM
12/31/2006 11:50:00 PM
**01/01/2007**
Run Code Online (Sandbox Code Playgroud)

*我使用了2个代码,一个用于格式化列,另一个用于分割列.但是,格式化列后,缺少的时间值为00:00:00值,此处表示午夜12点的时间.请参阅下文

格式化后

2006-12-31 23:20:00
2006-12-31 23:30:00
2007-01-01 00:25:00
2007-01-01 00:10:00
2006-12-31 11:30:00
2007-01-01 00:05:00
2007-01-01 00:01:00
2006-12-31 16:45:00
2006-12-31 23:50:00
**2007-01-01 00:00:00**
Run Code Online (Sandbox Code Playgroud)

使用的代码:

## Format datetime column
crimeall['INCIDENT_DATE'] = pd.DatetimeIndex(crimeall['INCIDENT_DATE'])

##Split DateTime column
crimeall['TIME'],crimeall['DATE']= crimeall['INCIDENT_DATE'].apply(lambda x:x.time()), crimeall['INCIDENT_DATE'].apply(lambda x:x.date())
Run Code Online (Sandbox Code Playgroud)

如果没有在00:00:00设置缺失的时间值,是否可以这样做?在格式化日期时间时,是否可以将这些缺失值记录为Nan?

有关如何实现格式化日期时间的任何想法,将缺少的时间值显示为NaN.

我觉得它应该是什么样的

2006-12-31 23:20:00
2006-12-31 23:30:00
2007-01-01 00:25:00
2007-01-01 00:10:00
2006-12-31 11:30:00
2007-01-01 00:05:00 …
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

6
推荐指数
1
解决办法
755
查看次数

matplotlib 维恩图,6 个圆圈

我可以用 matplotlib_venn 做 2 个和 3 个圆圈。任何可能绘制超过 3 的维恩图?

就我而言,我有 6 组数据并尝试用 6 个圆圈绘制维恩图

python plot matplotlib venn-diagram matplotlib-venn

5
推荐指数
1
解决办法
3687
查看次数

fold反转序列的顺序

我的序列,数组等的顺序很重要.我已经尝试在List,Seq和Array之间进行转换以查看是否存在差异,并且在每种情况下它都会颠倒顺序.

例如,我有[名词] [动词] [瞄准]的序列,它被转换成字符串然后折叠在一起.给出此模板的示例响应可能是"坏运行强盗"而不是"强盗运行不好".

有关为什么折叠这样做或如何以适当的顺序执行它的任何想法?

let res = template |> Seq.map(fun pos -> 
                    let e = s |> PredictionEngine.GetRandom
                    pos |> PredictionEngine.GetBestPartOfSpeechWord e)
                    |> Seq.fold(fun acc w -> w.Text + " " + acc) ""
Run Code Online (Sandbox Code Playgroud)

arrays f#

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

Fortran 包管理器排除测试代码

我已经使用 Fortran 包管理器构建了一个库,并将测试代码打包为test/最终库的一部分 - 一切正常,但我更愿意在最终构建中省略测试代码。

有没有办法用 Fortran 包管理器来做到这一点?我在文档中看不到任何明显的内容fpm.toml

fortran gfortran fortran90 fortran-package-manager

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

从信号的 fft 中找到局部最大值

我正在尝试找到信号的 fft 峰值,以用于进一步分析信号。我正在使用数据的 SpanSelect 并进行 fft,表示为频谱。我真的想让绘图具有交互性,并且用户单击一个点进行进一步分析,但我没有找到一种方法可以做到这一点,所以想要一种找到局部频率峰值的方法。频谱可能如下所示:

频谱图示例

因此,我想要一种方法来返回峰值为 38 Hz 的频率。有没有办法做到这一点?

python signal-processing fft widget matplotlib

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