小编Dil*_*ark的帖子

Python频谱分析

我试图估计ECG信号的心率变异性的PSD.为了测试我的代码,我从幻想曲心电图数据库中提取了RR间隔.我提取的信号可以在这里访问.要计算PSD,我使用的是welch方法,如下所示:

import matplotlib.pyplot as plt
import numpy as np
from scipy.signal import welch
ibi_signal = np.loadtxt('fantasia-f1y01-RR.txt')
t = np.array(ibi_signal[:, 0])  # time index in seconds
ibi = np.array(ibi_signal[:, 1])  # the IBI in seconds
# Convert the IBI in milliseconds
ibi = ibi * 1000
# Calculate the welch estimate
Fxx, Pxx = welch(ibi, fs=4.0, window='hanning', nperseg=256, noverlap=128)
Run Code Online (Sandbox Code Playgroud)

接下来,计算曲线下面积以估计不同HRV频带的功率谱,如下所示

ulf = 0.003
vlf = 0.04
lf = 0.15
hf = 0.4
Fs = 250
# find …
Run Code Online (Sandbox Code Playgroud)

python fft

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

将哈希模式添加到 seaborn 条形图中

我有一个使用 seaborn 创建的条形图。例如,可以按如下方式创建图:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data1 = pd.DataFrame(np.random.rand(17,3), columns=['A','B','C']).assign(Location=1)
data2 = pd.DataFrame(np.random.rand(17,3)+0.2, columns=['A','B','C']).assign(Location=2)
data3 = pd.DataFrame(np.random.rand(17,3)+0.4, columns=['A','B','C']).assign(Location=3)
cdf = pd.concat([data1, data2, data3])
mdf = pd.melt(cdf, id_vars=['Location'], var_name=['Letter'])
ax = sns.barplot(x="Location", y="value", hue="Letter", data=mdf, errwidth=0)  
ax.legend(loc='upper center', bbox_to_anchor=(0.5, 1.2), ncol=3, fancybox=True, shadow=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这给出了以下情节 在此处输入图片说明 我想按如下方式自定义图表:

  1. 去除面部颜色(将其设置为白色)
  2. 向图像添加哈希模式以区分组 这是如何实现的?

python seaborn

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

调整窗口大小C#

是否可以从另一个应用程序中调整正在运行的应用程序的窗口大小?我希望当我正在构建的应用程序启动时,另一个应用程序(比如itunes)的宽度减少到2/3,以便剩余的1/3被我的应用程序占用.这两个应用程序应该完全运行并且可由用户访问.请尽可能帮助.

c# resize winforms

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

无法读取简单的xml文件

我知道这看起来像一个愚蠢的简单问题,但无论如何我会问它.我一直在尝试阅读这个xml文件:

<Songs>
<song>
  <TrackID>1666</TrackID>
  <Name>What's the Matter Here?</Name>
  <Artist>10,000 Maniacs</Artist>
  <AlbumArtist>10,000 Maniacs</AlbumArtist>
  <Composer>Natalie Merchant/Robert Buck</Composer>
  <Album>In My Tribe</Album>
  <Genre>Rock</Genre>
  <Kind>MPEG audio file</Kind>
  <Size>9318485</Size>
  <TotalTime>291134</TotalTime>
  <TrackNumber>1</TrackNumber>
  <Year>1987</Year>
  <DateModified>2005-03-09T07:31:09Z</DateModified>
  <DateAdded>2007-07-20T17:21:36Z</DateAdded>
  <BitRate>256</BitRate>
  <SampleRate>44100</SampleRate>
  <Comments> </Comments>
  <PersistentID>54F22391EB807F38</PersistentID>
  <TrackType>File</TrackType>
  <Location></Location>      
</song>
<song>
  <TrackID>1666</TrackID>
  <Name>What's the Matter Here?</Name>
  <Artist>10,000 Maniacs</Artist>
  <AlbumArtist>10,000 Maniacs</AlbumArtist>
  <Composer>Natalie Merchant/Robert Buck</Composer>
  <Album>In My Tribe</Album>
  <Genre>Rock</Genre>
  <Kind>MPEG audio file</Kind>
  <Size>9318485</Size>
  <TotalTime>291134</TotalTime>
  <TrackNumber>1</TrackNumber>
  <Year>1987</Year>
  <DateModified>2005-03-09T07:31:09Z</DateModified>
  <DateAdded>2007-07-20T17:21:36Z</DateAdded>
  <BitRate>256</BitRate>
  <SampleRate>44100</SampleRate>
  <Comments> </Comments>
  <PersistentID>54F22391EB807F38</PersistentID>
  <TrackType>File</TrackType>
  <Location></Location>      
</song>
</Songs>
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码来阅读上述内容:

    private static void LoadSongsFromITunes(string xmlFile)
    {
        XmlReaderSettings settings …
Run Code Online (Sandbox Code Playgroud)

.net c# xml xml-parsing

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

Naudio:如何播放MP3和WAV文件?

好吧,我知道这对某些人来说听起来很容易,但我真的被困在这里了.实际上,我正在使用Naudio构建一个音频播放器,我已经意识到在许多教程中,人们总是会展示一些简单的方法来帮助您入门.但是,在我看来,他们总是忘记展示在实际应用中实际完成的事情.例如,在与Naudio一起播放音乐时,我会做类似的事情:

  Void PlayAudioMusic(string FilePath)

  {

     using (var ms = File.OpenRead(FilePath))
    using (var rdr = new Mp3FileReader(ms))
    using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
    using (var baStream = new BlockAlignReductionStream(wavStream))
    using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
    {
        waveOut.Init(baStream);
        waveOut.Play();

    }
 }
Run Code Online (Sandbox Code Playgroud)

这非常适合在简单的控制台应用程序中进行测试.但是,如果您实际构建了一个严肃的应用程序,这将无用.例如,许多教程从未说过的是例如如何处理最关键的事情,例如:

  1. 处置资源以及​​何时执行
  2. 处理不同异常的最佳方法
  3. 暂停,停止,快退甚至退出应用程序之前要做什么
  4. 其他我甚至都不知道的东西存在.由于我正在经历这个过程,并且已经注意到我的应用程序抛出了太多异常,有人可以像Naudio那样分享他曾经处理过这个问题的包装类.我相信这会解决我们有些人在尝试使用Naudio时遇到的许多麻烦.

谢谢.

c# audio mp3 wav naudio

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

快速删除连续重复的python

我的问题类似于之前的SO问题, 我有两个大的数据列表(近1.2亿个数据点),包含许多连续的重复项.我想删除连续的副本如下

list1 = [1,1,1,1,1,1,2,3,4,4,5,1,2] #This is 20M long!
list2 =[another list of size len(list1)]#This is also 20M long!
i = 0
while i < len(list)-1:
    if list[i] == list[i+1]:
        del list1[i]
        del list2[i]
    else:
        i = i+1
Run Code Online (Sandbox Code Playgroud)

输出应该是[1,2,3,4,5,1,2],不幸的是,这非常慢,因为删除列表中的元素本身就是一个缓慢的操作.有什么方法可以加快这个过程吗?请注意,如上面的代码所示,我也需要跟踪索引i,以便我可以删除list2中的相应元素.

python duplicates

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

许多熊猫数据框的箱形图

我有三个数据框,其中包含17组A,B和C组数据。以下代码段中显示了A

import pandas as pd
import numpy as np
data1 = pd.DataFrame(np.random.rand(17,3), columns=['A','B','C'])
data2 = pd.DataFrame(np.random.rand(17,3)+0.2, columns=['A','B','C'])
data3 = pd.DataFrame(np.random.rand(17,3)+0.4, columns=['A','B','C'])
Run Code Online (Sandbox Code Playgroud)

我想绘制一个箱形图以比较这三个组,如下图所示 在此处输入图片说明 我正在尝试使用seaborn的箱形图制作剧情,如下所示

import seaborn as sns
sns.boxplot(data1, groupby='A','B','C') 
Run Code Online (Sandbox Code Playgroud)

但显然这是行不通的。有人可以帮忙吗?

python boxplot seaborn

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

标签 统计

python ×4

c# ×3

seaborn ×2

.net ×1

audio ×1

boxplot ×1

duplicates ×1

fft ×1

mp3 ×1

naudio ×1

resize ×1

wav ×1

winforms ×1

xml ×1

xml-parsing ×1