小编FaC*_*fee的帖子

计算以逗号分隔的字符串中的元素数

我正在处理文本字符串,如下所示: LN1 2DW, DN21 5BJ, DN21 5BL, ...

在Python中,我如何计算逗号之间的元素数量?每个元素可以由6个,7个或8个字符组成,在我的示例中,显示了3个元素.分隔符始终是逗号.

我从未做过任何与文本挖掘有关的事情,所以这对我来说是一个开始.

python text comma text-mining

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

Matplotlib:如何使imshow从其他numpy数组中读取x,y坐标?

当你想要绘制一个numpy数组时imshow,这就是你通常做的事情:

import numpy as np
import matplotlib.pyplot as plt

A=np.array([[3,2,5],[8,1,2],[6,6,7],[3,5,1]]) #The array to plot

im=plt.imshow(A,origin="upper",interpolation="nearest",cmap=plt.cm.gray_r)
plt.colorbar(im)
Run Code Online (Sandbox Code Playgroud)

这给了我们这个简单的图像: 在此输入图像描述

在该图像中,简单地从阵列中每个值的位置提取xy坐标.现在,假设这A是一个引用某些特定坐标的值数组:

real_x=np.array([[15,16,17],[15,16,17],[15,16,17],[15,16,17]])
real_y=np.array([[20,21,22,23],[20,21,22,23],[20,21,22,23]])
Run Code Online (Sandbox Code Playgroud)

这些价值构成了我的理由.有没有办法强制imshow在A对应的坐标对(real_x,real_y)中分配每个值?

PS:我不是在寻找向基于数组的x和y添加或减去某些东西以使它们与real_xreal_y匹配,而是用于从real_xreal_y数组中读取这些值的东西.然后,预期结果是具有x轴上的real_x值和y轴上的real_y值的图像.

python numpy matplotlib imshow

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

如何在python中运行并行作业

我正在使用Python进行数据挖掘项目,在实验阶段我必须同时运行许多实验.我如何创建n流程,以便每个流程都专门用于实验?我应该使用哪个模块?

python

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

Python:如何根据键的值对字典进行切片?

说我有一个这样的字典:

d={0:1, 1:2, 2:3, 10:4, 11:5, 12:6, 100:7, 101:8, 102:9, 200:10, 201:11, 202:12}

我想创建一个子词典d1的切片d中,这种方式d1包含以下键:0, 1, 2, 100, 101, 102.最终输出应该是:

d1={0:1, 1:2, 2:3, 100:7, 101:8, 102:9}

考虑到我的真实字典包含超过2,000,000个项目,是否有一种有效的Pythonic方法?

我认为这个问题适用于键是整数的所有情况,当切片需要遵循某些不等式规则时,以及当最终结果需要在同一个字典中放在一起时.

python dictionary key slice hashable

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

使用grid_2d_graph在networkx中绘制MxM节点的方格时,删除旋转效果

我需要生成一个有100x100节点的常规图形(也称为网格网络).我开始使用10x10以下代码绘制图形:

import numpy
from numpy import *
import networkx as nx
from networkx import *
import matplotlib.pyplot as plt

G=nx.grid_2d_graph(10,10)        
nx.draw(G)

plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但我得到的是这个:

在此输入图像描述

有没有办法摆脱输出的这种旋转效应?我的最终网络看起来像棋盘,就像这样(请忽略标签):

在此输入图像描述

此外,我需要为每个节点提供其ID,范围从0到9999(在100x100网络的情况下).任何想法将不胜感激!

python grid rotation networkx mathematical-lattices

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

如何在Python中使用图像处理找到对象的直径?

鉴于其中有一些不规则物体的图像,我想找到它们各自的直径.

感谢这个答案,我知道如何识别对象.但是,是否可以测量图像中显示的对象的最大直径?

我查看了scipy-ndimage文档,但没有找到专用函数.

对象识别代码:

import numpy as np
from scipy import ndimage
from matplotlib import pyplot as plt

# generate some lowpass-filtered noise as a test image
gen = np.random.RandomState(0)
img = gen.poisson(2, size=(512, 512))
img = ndimage.gaussian_filter(img.astype(np.double), (30, 30))
img -= img.min()
img /= img.max()

# use a boolean condition to find where pixel values are > 0.75
blobs = img > 0.75

# label connected regions that satisfy this condition
labels, nlabels = ndimage.label(blobs) …
Run Code Online (Sandbox Code Playgroud)

python geometry numpy image-processing ndimage

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

熊猫:将数据框切割成同一电子表格的多个工作表

假设我有3个相同长度的词典,我将它组合成一个独特的pandas数据帧.然后我将所述数据帧转储到Excel文件中.例:

import pandas as pd
from itertools import izip_longest

d1={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
d2={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
d3={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}

dict_list=[d1,d2,d3]

stats_matrix=[ tuple('dict{}'.format(i+1) for i in range(len(dict_list))) ] + list( izip_longest(*([ v for k,v in sorted(d.items())] for d in dict_list)) )
stats_matrix.pop(0)

mydf=pd.DataFrame(stats_matrix,index=None)

mydf.columns = ['d1','d2','d3']

writer = pd.ExcelWriter('myfile.xlsx', engine='xlsxwriter')
mydf.to_excel(writer, sheet_name='sole')   
writer.save()  
Run Code Online (Sandbox Code Playgroud)

此代码生成具有唯一工作表的Excel文件:

>Sheet1<

d1   d2   d3 
1    1    1
2    2    2
3    3    3
4    4    4
5    5    5
6    6    6
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何以这样的方式对这个数据帧进行切片:生成的Excel文件有3张,其中标题重复,每张表中有两行值?

编辑

在这里给出的例子中,dicts每个都有6个元素.在我的实际案例中,他们有25000,数据帧的索引从1.所以我想将这个数据帧切割成25个不同的子切片,每个子切片都被转储到同一主文件的专用Excel表中. …

python excel slice dataframe pandas

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

熊猫:如何绘制两个类别和四个系列的条形图?

我有以下数据框,其中pd.concat已用于对列进行分组:

    a               b            
   C1  C2  C3  C4  C5  C6  C7  C8
0  15  37  17  10   8  11  19  86
1  39  84  11   5   5  13   9  11
2  10  20  30  51  74  62  56  58
3  88   2   1   3   9   6   0  17
4  17  17  32  24  91  45  63  48
Run Code Online (Sandbox Code Playgroud)

现在我想绘制一个条形图,其中我只有两个类别(ab),每个类别有四个条形代表每列的平均值.列C1和C5应该具有相同的颜色,列C2和C6应该具有相同的颜色,依此类推.

我怎么能用df.plot.bar()做到这一点?

该图应类似于下图.很抱歉它是手绘的,但我很难找到一个相关的例子: 在此输入图像描述

编辑

这是我的实际DataFrame的标题:

    C1  C2  C3  C4  C5  C6  C7  C8
0   34 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib categories bar-chart pandas

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

Python:如何将字典的键映射到另一个字典的值?

假设您正在使用这两个词典:

a={(1,2):1.8,(2,3):2.5,(3,4):3.9} #format -> {(x,y):value}
b={10:(1,2),20:(2,3),30:(3,4)} #format -> {id:(x,y)}
Run Code Online (Sandbox Code Playgroud)

并且你想想出一个具有以下格式的字典:{id:value}. 在这个例子中,结果将是:

c={10:1.8,20:2.5,30:3.9}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下

c={k:j for k in b.keys() and j in a.values()}
Run Code Online (Sandbox Code Playgroud)

但结果显然是微不足道的

NameError: name 'j' is not defined
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方法是什么?你如何“建模”通信?

python dictionary key key-value

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

Python:(x,y)平面中一堆点之间的平均距离

计算(x, y)平面中两点之间距离的公式是公知且直截了当的.

但是,解决n点问题的最佳方法是什么,您想要计算平均距离?

例:

import matplotlib.pyplot as plt
x=[89.86, 23.0, 9.29, 55.47, 4.5, 59.0, 1.65, 56.2, 18.53, 40.0]
y=[78.65, 28.0, 63.43, 66.47, 68.0, 69.5, 86.26, 84.2, 88.0, 111.0]
plt.scatter(x, y,color='k')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

距离简单地呈现为:

import math
dist=math.sqrt((x2-x1)**2+(y2-y1)**2)
Run Code Online (Sandbox Code Playgroud)

但这是一个不允许重复组合的问题.怎么接近它?

python combinations list

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