小编Phl*_*lya的帖子

将pandas dataframe可视化为热图时键入错误

我正在尝试将pandas数据帧可视化为热图,并且我尝试使用所有绘图函数时出现了奇怪的错误(我尝试使用DataFrame对象和DataFrame.values数组,并且没有任何更改).我不明白它可能是什么原因.这是数据帧:

       1     2     3     4     5     6     7     8     9    10    11    12  \
1      0  1163   986  1105  1315  1472   844   560  1033   867   610   703   
2   1163     0  1774   803  1091   899   704   806   891   648  1082  1199   
3    986  1774     0   679   880   798  1268   931   560  1128   774   481   
4   1105   803   679     0   742   654   887   765  1113  1079   605   928   
5   1315  1091   880   742     0   924   580   658  1073  1008   719 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas seaborn

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

如何将两个文件中的行与python中的条件组合?

我需要在两个文件中组合行,根据条件,其中一个文件的行是第二个文件行的一部分.

第一个文件的一部分:

12319000    -64,7357668067227   -0,1111052148685535  
12319000    -79,68527661064425  -0,13231739777754026  
12319000    -94,69642857142858  -0,15117839559513543    
12319000    -109,59301470588237 -0,18277783185642743  
12319001    99,70264355742297   0,48329515727315125  
12319001    84,61113445378152   0,4060446341409862  
12319001    69,7032037815126    0,29803063228455073  
12319001    54,93886554621849   0,20958105041136763  
12319001    39,937394957983194  0,13623056582981297  
12319001    25,05574229691877   0,07748669438398018  
12319001    9,99716386554622    0,028110643107892755  

第二个文件的一部分:

12319000.abf    mutant  1  
12319001.abf    mutant  2  
12319002.abf    mutant  3  

我需要创建一个文件,其中包含以下内容:第一个文件中的所有行和第二个文件中的所有行.除了第一列中的文件名.

正如您所看到的,第一个文件中有多行,而第二个中的行与另一行相对应.我需要对每一行执行该操作,因此输出应如下所示:

12319000    -94,69642857142858  -0,15117839559513543  mutant    1  
12319000    -109,59301470588237 -0,18277783185642743  mutant    1  
12319001    99,70264355742297   0,48329515727315125  mutant 2  
12319001    84,61113445378152   0,4060446341409862  mutant  2  

我写了这段代码:

oocytes = open(file_with_oocytes, 'r')  
results = open(os.path.join(path, 'results.csv'), 'r')  
results_new = open(os.path.join(path, …
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
2
解决办法
2229
查看次数

在matplotlib中"排除"注释?

我最近看到这个包用于R/ggplot2,它允许一个人在一个绘图上有多个注释并自动调整它们的位置以最小化重叠,这样就提高了可读性.python/matplotlib有类似的东西吗?

编辑:我发现Matplotlib重叠注释/文本,它看起来很有希望,但似乎结果不如R包.

例:

from matplotlib import pyplot as plt
import numpy as np
xs = np.arange(10, step=0.1)+np.random.random(100)*3
ys = np.arange(10, step=0.1)+np.random.random(100)*3
labels = np.arange(100)
plt.scatter(xs, ys)
for x, y, s in zip(xs, ys, labels):
    plt.text(x, y, s)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

你可以看到,即使这样的短标签在数据密度很高时也会造成一个疯狂的混乱.

python plot matplotlib

6
推荐指数
2
解决办法
2101
查看次数

在图像中填补漏洞

我需要使用python填充图像中的漏洞.这是我设法获得的对象的图像 - 它们实际上是我想要的对象的边缘,所以我需要填充它们. 在此输入图像描述

使用起来似乎很简单ndimage.binary_fill_holes(A),但问题是它产生了这个(手动填充红色):

在此输入图像描述

但我需要这个:

在此输入图像描述

这有什么办法可以解决?

如果你想尝试一下,这是第一张没有轴的图像: 在此输入图像描述

python opencv numpy scipy scikit-image

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

更改plt.imshow()图像的像素颜色

我需要用matplotlib的imshow()绘制图像,然后用不同的颜色标记一些像素.只是在初始数组中更改它们的值将无法工作,因为我需要使用我正在使用的colourmap中不存在的颜色.所以我最初的目的是在第一个图像上方绘制第二个生成的数组,其中大部分都被屏蔽,所需的像素没有被屏蔽,并且有一些值(对于不同的坐标可能使用不同的颜色可能不同).并且它与matplotlib的交互式查看器很好地协同工作,但是当保存到文件中时,一切都会因为这个错误而被扭曲,我在相同的情况下报告:https://github.com/matplotlib/matplotlib/issues/3057

是否有其他选项可以改变某些像素的颜色?

python matplotlib

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

如何使用python(和Gtk3)制作全局键盘快捷键?

我想制作像 t 这样的键盘快捷键,当主窗口关闭时它会起作用(但进程正在运行,因为程序有一个统一的应用程序)。我看到了一个包 keybinder,但似乎不能将它与 Gtk3 和 pygobject 一起使用。还是可以?那怎么办?如果没有,有没有其他方法可以做到这一点?该应用程序适用于 linux (ubuntu),我使用 python 2.7。

python keyboard-shortcuts pygobject gtk3

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

Seaborn regplot与colorbar?

我正在用seaborn's密谋regplot.据我所知,它pyplot.scatter在幕后使用.所以我假设如果我将散点图的颜色指定为序列,那么我就可以调用plt.colorbar,但它似乎不起作用:

sns.regplot('mapped both', 'unique; repeated at least once', wt, ci=95, logx=True, truncate=True, line_kws={"linewidth": 1, "color": "seagreen"}, scatter_kws={'c':wt['Cis/Trans'], 'cmap':'summer', 's':75})
plt.colorbar()

Traceback (most recent call last):

  File "<ipython-input-174-f2d61aff7c73>", line 2, in <module>
    plt.colorbar()

  File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 2152, in colorbar
    raise RuntimeError('No mappable was found to use for colorbar '

RuntimeError: No mappable was found to use for colorbar creation. First define a mappable such as an image (with imshow) or a contour set (with contourf). …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

4
推荐指数
2
解决办法
9344
查看次数

格式化嵌套列表/元组

我有一个函数的输出(一个很长的!),它看起来像这样:

[[(0.0, 1.0, 2.0), (1.0, 2.0, 0.0), (2.0, 1.0, 0.0)], [(1.6324986294474886e-06, 1.000000272083105, 1.9999992744450537), (1.0, 1.9999985559929883, 9.626713411705526e-07), (1.9999957124111243, 1.000000714598146, 9.527975279416402e-07)], ......................, [(0.00016488526381860965, 1.0000274825531668, 1.9999267116402146), (0.9999999810184469, 1.9998541492231847, 9.723903843230245e-05), (1.9995669148822666, 1.000072183688789, 9.62532545797885e-05)]]
Run Code Online (Sandbox Code Playgroud)

我不喜欢输出的结构,但在函数中使用它非常方便,它返回它.

但是我需要将输出格式化为这样:

0.0 1.0 2.0 A
1.0 2.0 0.0 B
2.0 1.0 0.0 C
1.6324986294474886e-06 1.000000272083105 1.9999992744450537 A
1.0 1.9999985559929883 9.626713411705526e-07    B
1.9999957124111243 1.000000714598146 9.527975279416402e-07  C
Run Code Online (Sandbox Code Playgroud)

我有这个代码:

obj = 'A', 'B', 'C'
for n in results():    
    for z in range(len(results()[0])):
        k = n[z], obj[z]
        print '\t'.join(map(str, k))
Run Code Online (Sandbox Code Playgroud)

('results'是函数的名称,返回大列表)

它给了我这个:

(0.0, 1.0, …
Run Code Online (Sandbox Code Playgroud)

python formatting

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