小编Sir*_*irC的帖子

如何在matplotlib(python)中更改字体?

这听起来像一个简单的问题,但我没有找到任何有效的解决方案来改变python中使用matplotlib制作的图中的字体(而不是字体大小).

我发现了几个教程,通过修改matplotlib存储其默认字体的文件夹中的一些文件来更改matplotlib的默认字体 - 请参阅此博客文章 - 但我正在寻找一个不太激进的解决方案,因为我想使用多个我的情节中的字体(文字,标签,轴标签等).

python fonts matplotlib

59
推荐指数
5
解决办法
10万
查看次数

如何在Python中以相反的顺序读取CSV文件?

我知道如何为TXT文件执行此操作,但现在我在为CSV文件执行此操作时遇到了一些麻烦.

如何在Python中从底部读取CSV文件?

python csv

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

使用matplotlib箭头更改箭头的大小

我正在使用matplotlib中的箭来绘制矢量场.我想根据产生矢量场特定箭头的数据的数量来改变每个箭头的厚度大小.因此,我所寻找的不是箭头大小的一般比例变换,而是逐个自定义箭袋中箭头厚度的方法.可能吗?你能帮助我吗?

python matplotlib

5
推荐指数
2
解决办法
2万
查看次数

numpy vs熊猫的表现

我正在处理和处理熊猫中相当大的数据框。尽管我不一定对尽可能优化代码的性能感兴趣,但是当我仅使用pandas时,我发现同一任务的不同版本之间存在巨大的性能差距,这让我感到非常惊讶,该混合版本结合了pandas + dict和numpy只要。我不像numpy那样会流利的熊猫,因此我想知道对于某些特定的任务,pandas本质上是否比numpy慢(但是在编写代码时更优雅),或者这可能部分是由于对pandas的使用不佳所致。

一般问题

我每月有一个NxM浮动矩阵(其中N和M分别约为1000和5000)。由于外在原因,这些矩阵作为熊猫数据帧提供,每个时间戳一个。在每个日期,我需要用date-1元素级的减去那个时候的矩阵。然后,我需要对该结果进行二值化处理,以使元素明智差异为1时为1,否则为0。最后,对于每个日期,我需要axis=1沿着该二值化矩阵的行进行求和。dict_MVAdj因此,下面是一个字典,其中的键是日期,值是NxM数据帧。数据框可能包含以下NaN值:

dict_MVAdj  -> {datetime.datetime(2003, 2, 1, 0, 0):
         s1     s2       s3 
f1  10000.0  192.0   9421.0       
f2   4000.0    NaN   1340.0, 

, datetime.datetime(2003, 3, 1, 0, 0):      
         s1     s2       s3 
f1  24400.0  102.0   9121.0       
f2  14000.0    3.3   1340.0
} 
Run Code Online (Sandbox Code Playgroud)

策略1:仅numpy

for i,key in enumerate(keySort):
    if i:
         dictDelta[key]= dict_MVAdj[keySort[i]].as_matrix()-dict_MVAdj[keySort[i-1]].as_matrix()
         dictBinPos[key] = (np.where(dictDelta[key]>0,1,0)).sum(axis = 1)
Run Code Online (Sandbox Code Playgroud)

战略2:数据帧+熊猫的字典

for i,key in enumerate(keySort):
    if i:
         dictDelta[key] = dict_MVAdj[keySort[i]].subtract(dict_MVAdj[keySort[i-1]])
         dictBinPos[key]= pd.DataFrame(((dictDelta[key]>0).astype(int)).sum(axis=1))

         ''' or …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

5
推荐指数
0
解决办法
90
查看次数

如何在pandas df.plot() 中获取最近绘制的线的颜色

我想获得我最后一个情节的颜色

ax = df.plot() 
df2.plot(ax=ax)
# how to get the color of this last plot, 
#the plot is a single timeseries, there is therefore a single color.
Run Code Online (Sandbox Code Playgroud)

我知道如何在 中做到这一点matplotlib.pyplot,对于那些感兴趣的人,请参见此处,但我找不到在 Pandas 中做到这一点的方法。get_color()熊猫有什么表现吗?

python plot matplotlib pandas

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

在Python中导入音轨(wav或aiff)

我有AIFF格式的音轨。我想使用Python打开此音频文件,并导入声音的幅度并执行一些数学分析,例如Fourier Transform等。

  1. 这在Python中可行吗?
  2. 是否有可以让我获取音频文件的库或模块?

在整个搜索过程中,我发现了scipy.io.wavfile适用于WAV音频文件的。

  1. 还有其他库可以在Python中导入音频文件吗?
  2. AIFF文件是否有类似内容?

显然,我可以将AIFF转换为WAV文件,但如果可能的话,我想直接导入AIFF文件。

附带提出一个问题:是否存在一些更特定的(具体而言,我的意思是比Python更好的)编程语言来执行此类音频文件的分析和获取?

python audio wav aiff

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

多索引熊猫数据框和.diff()

假设我有以下多索引熊猫数据框:

                     A    B
Date        Code     
01-01-2017  s1       1    2
            s2       3    1
01-02-2017  s1       2    2    
            s2       3    3
Run Code Online (Sandbox Code Playgroud)

这里讨论的内容不同,我不希望.diff(1)对具有相同日期的值进行操作并在每个新日期进行重置,我希望.diff(1)提供以下输出:

                     A    B
Date        Code     
01-01-2017  s1       Nan  Nan
            s2       Nan  Nan
01-02-2017  s1       1    0    
            s2       2    1
Run Code Online (Sandbox Code Playgroud)

也就是说,.diff(1)通过级别0的索引的差异值指定的块进行差异,而不是像建议的链接那样在块内进行差异。换句话说,我想通过条目减去这两个矩阵:

|2    2|  _  |1    2| 
|3    3|     |3    1|
Run Code Online (Sandbox Code Playgroud)

python multi-index pandas

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

用于检查密钥是否已存在于字典中的"pythonic"策略

我经常处理异构数据集,并在python例程中将它们作为字典获取.我通常面临的问题是,我要添加到字典中的下一个条目的密钥已经存在.我想知道是否存在更多"pythonic"方式来执行以下任务:检查密钥是否存在并创建/更新我的字典中对应的对键项

myDict = dict()
for line in myDatasetFile:
   if int(line[-1]) in myDict.keys():
        myDict[int(line[-1])].append([line[2],float(line[3])])
   else:
        myDict[int(line[-1])] = [[line[2],float(line[3])]]
Run Code Online (Sandbox Code Playgroud)

python dictionary key

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

标签 统计

python ×8

matplotlib ×3

pandas ×3

aiff ×1

audio ×1

csv ×1

dictionary ×1

fonts ×1

key ×1

multi-index ×1

numpy ×1

plot ×1

wav ×1