小编Cov*_*ich的帖子

为什么循环中只有一个警告?

我希望在循环中检测到的每个问题都会出现警告,但警告只会在第一次提出一次.例如 :

import warnings

for i in range(10):
   print i
   warnings.warn('this is a warning message')
Run Code Online (Sandbox Code Playgroud)

我预计 :

0
UserWarning: this is a warning message
1
UserWarning: this is a warning message
2
UserWarning: this is a warning message
3
UserWarning: this is a warning message
4
Run Code Online (Sandbox Code Playgroud)

但结果是:

0
__main__:4: UserWarning: this is a warning message
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

为什么我只有一个警告?如何获得每次迭代的警告?

python warnings loops

23
推荐指数
3
解决办法
3059
查看次数

删除集合列表的重复项

我有一套套装:

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

(实际上在我的情况下是一个倒数元组列表的转换)

我想删除重复项来获取:

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

但如果我尝试:

>>> list(set(L))
TypeError: unhashable type: 'set'
Run Code Online (Sandbox Code Playgroud)

要么

>>> list(np.unique(L))
TypeError: cannot compare sets using cmp()
Run Code Online (Sandbox Code Playgroud)

如何获得具有不同集合的集合列表?

python list unique set duplicates

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

Matplotlib:从头开始制作彩色标记图例

在Matplotlib中,我试图用这样的彩色"标记"制作一个传奇:

标记传说

这个是使用该scatter功能制作的,但不适合我的情节.我想"从头开始"制作一个没有相关数据的传奇.颜色很重要,因此应该是每个标记的属性.

我试过了

import matplotlib.markers as mmark
list_mak = [mmark.MarkerStyle('.'),mmark.MarkerStyle(','),mmark.MarkerStyle('o')]
list_lab = ['Marker 1','Marker 2','Marker 3']

plt.legend(list_mak,list_lab)
Run Code Online (Sandbox Code Playgroud)

但是:

1)该MarkerStyle课程不支持颜色信息

2)我收到警告:

UserWarning: Legend does not support <matplotlib.markers.MarkerStyle object at 0x7fca640c44d0> instances.
A proxy artist may be used instead.
Run Code Online (Sandbox Code Playgroud)

但是如何根据标记定义代理艺术家呢?

谢谢你的帮助 !

python colors matplotlib legend markers

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

Python/Matplotlib:转换Axis <=>数据坐标系

我的问题很简单:在matplotlib中,如何轻松地将Axis系统中的坐标转换为数据系统(从理想情况来说,我正在寻找一个简单的函数output_coords = magic_func(input_coords))

实际上我的确切问题是:我想matplotlib.patches.Ellipse用他的中心在Axis系统中绘制一个但是他的数据系统中的大小(宽度和长度).但是这种transforms.blended_transform_factory方法在这种情况下不起作用.

谢谢 !

python matplotlib coordinate-systems coordinate-transformation

9
推荐指数
3
解决办法
5233
查看次数

使用类似形状的函数获得一维numpy.array的"1"

在一个函数中,我给出了一个Numpy数组:它可以是多维的,也可以是一维的

所以当我给出一个多维数组:

np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]).shape
>>> (3, 4)
Run Code Online (Sandbox Code Playgroud)

np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]).shape[1]
>>> 4
Run Code Online (Sandbox Code Playgroud)

精细.

但是当我问到它的形状时

np.array([1,2,3,4]).shape
>>> (4,)
Run Code Online (Sandbox Code Playgroud)

np.array([1,2,3,4]).shape[1]
>>> IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)

哎呀,元组只包含一个元素......而我想1表明它是一个一维数组.有没有办法得到这个?我的意思是一个简单的函数或方法,并没有一个判别测试ndim例如?

谢谢 !

python arrays numpy dimension multidimensional-array

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

英语作为使用matplotlib的日期滴答的语言

我是法语母语人士,所以我的操作系统界面(GNU/Linux Xubuntu)是法语版

因此,当我使用Matplotlib datetime作为X数据绘制时间序列时,返回的绘图使用法语写入月份

如何以其他语言(通常是英语)获取这些打印日期?

datetime matplotlib non-english

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

Python - 获取列表列表中每个列表的最后一个元素

我的问题很简单,我有一份清单清单:

my_list = [['a1','b1'],['a2','b2'],['a3','b3','c3'],['a4','b4','c4','d4','e4']]
Run Code Online (Sandbox Code Playgroud)

我怎样才能轻松获得每个列表的最后一个元素,即:

[ 'b1' , 'b2' , 'c3' , 'e4' ]
Run Code Online (Sandbox Code Playgroud)

谢谢 !

python list

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

Numpy和Scipy矩阵求逆函数的差异

我的问题很简单:矩阵求反numpy.linalg.invscipy.linalg.inv函数的区别是什么

Scipy函数仅仅是Numpy的包装器吗?效率,数值稳定性,速度...我应该选择哪一个?

谢谢 !

numpy scipy

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

压缩稀疏列(CSC)或压缩稀疏行(CSR)稀疏矩阵?

我有一个设计矩阵,我正在使用scipy模块在稀疏矩阵中进行转换

它有很多行,只有很少的列

有了这种形状,使用CSC或CSR设计会更好吗?或者他们是否严格等同于执行速度?

基本上,它看起来像这个例子:(但真正的行中还有更多的行)

在此输入图像描述

谢谢 !

python scipy sparse-matrix sparse-columns

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

在python中使用容差来统一数组/列表(uniquetol等效)

我想在一定的容差范围内找到数组的独特元素

例如,对于数组/列表

[1.1 , 1.3 , 1.9 , 2.0 , 2.5 , 2.9]
Run Code Online (Sandbox Code Playgroud)

功能将返回

[1.1 , 1.9 , 2.5 , 2.9]
Run Code Online (Sandbox Code Playgroud)

如果容差是 0.3

有点像MATLAB函数 http://mathworks.com/help/matlab/ref/uniquetol.html (但是这个函数使用相对容差,绝对值就足够了)实现它的pythonic方法是什么?(numpy特权)

python numpy unique

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