小编unu*_*tbu的帖子

线程中的subprocess.Popen

我有很多文件(超过4000个),我想同时加载到PostgreSQL中.我已将它们分成4个不同的文件列表,我想要一个线程迭代加载数据的每个列表.

我遇到的问题是我使用os.system来调用加载程序但这会阻止其他线程同时运行.如果我使用subprocess.Popen然后它们同时运行但是线程认为它们已经完成了execeuting,所以移动到我的脚本的下一部分.

我这样做是对的吗?或者是否有更好的方法从线程内调用子进程.

def thread1Load(self, thread1fileList):
    connectionstring = settings.connectionstring
    postgreshost = settings.postgreshost
    postgresdatabase = settings.postgresdatabase
    postgresport = settings.postgresport
    postgresusername = settings.postgresusername
    postgrespassword = settings.postgrespassword

    tablename = None
    encoding = None
    connection = psycopg2.connect(connectionstring)

    for filename in thread1fileList:
        load_cmd = #load command
        run = subprocess.Popen(load_cmd, shell=True)
    print "finished loading thread 1"


def thread2Load(self, thread2fileList):
    connectionstring = settings.connectionstring
    postgreshost = settings.postgreshost
    postgresdatabase = settings.postgresdatabase
    postgresport = settings.postgresport
    postgresusername = settings.postgresusername
    postgrespassword = settings.postgrespassword

    tablename = None

    connection = psycopg2.connect(connectionstring)
    for filename in …
Run Code Online (Sandbox Code Playgroud)

python multithreading subprocess

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

最适合python 3.3中的日志图的行

我正在做的工作基本上是随机走动,但每个步骤之后都有被捕的可能性。我从K个人开始,然后有一个图形绘制log(k)与n的关系,其中k是在n步中幸存的人数。

plt.plot(n,numpy.log(k)
Run Code Online (Sandbox Code Playgroud)

我需要找到该图的梯度,但也想做一条最合适的线,对您的帮助将不胜感激!

python gradient numpy graph line

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

修复Python中破碎的HTML - Beautifulsoup无法正常工作

我有兴趣从这个表中删除文本:https://ows.doleta.gov/unemploy/trigger/2011/trig_100211.html 以及其他类似的文本.

我写了一个快速python脚本,适用于以类似方式格式化的其他表:

    state = ""
    weeks = ""
    edate = "" 
    pdate = url[-11:]
    pdate = pdate[:-5]

    table = soup.find("table") 

    for row in table.findAll('tr'):     
        cells = row.findAll("td")
        if len(cells) == 13: 
            state = row.find("th").find(text=True) 
            weeks = cells[11].find(text=True) 
            edate = cells[12].find(text=True)
            try:   
                print pdate, state, weeks, edate 
                f.writerow([pdate, state, weeks, edate])
            except:  
                print state[1] + " error"  
Run Code Online (Sandbox Code Playgroud)

但是,该脚本不适用于此表,因为标记在一半的行中被破坏.一半行的格式没有标记,以指示行的开头:

</tr> #end of last row, on State0  
<td headers = "State1 no info", attributes> <FONT attributes> text </FONT> </td> …
Run Code Online (Sandbox Code Playgroud)

python html-table tidy beautifulsoup web-scraping

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

我错过了什么论点来翻译pypy3?

试图在Ubuntu 14.04上翻译pypy3.我按照这里的说明操作:http://pypy.readthedocs.org/en/latest/getting-started-python.html#installation,但是我收到了一个错误.

pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone.py gives me

File "../../rpython/bin/rpython", line 17
print __doc__
     ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

查看文件rpython/bin/rpython,我看到一个if语句,我似乎正在点击

if len(sys.argv) == 1:
    print __doc__
    sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

我没有通过哪些论据我应该是谁?

python pypy

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

从python数据帧的列构造二分图

我有一个包含三列的数据框.

data['subdomain'],  data['domain'], data ['IP']
Run Code Online (Sandbox Code Playgroud)

我想为子域的每个元素构建一个二分图,它对应于同一个域,权重是它对应的次数.

例如,我的数据可能是:

subdomain , domain, IP
test1, example.org, 10.20.30.40
something, site.com, 30.50.70.90
test2, example.org, 10.20.30.41
test3, example.org, 10.20.30.42
else, website.com, 90.80.70.10
Run Code Online (Sandbox Code Playgroud)

我想要一个二分图表明它example.org的权重为3,因为它有3个边缘等.我想将这些结果组合成一个新的数据帧.

我一直在尝试使用networkX,但我没有经验,特别是在需要计算边缘时.

B=nx.Graph()
B.add_nodes_from(data['subdomain'],bipartite=0)
B.add_nodes_from(data['domain'],bipartite=1)
B.add_edges_from (...)
Run Code Online (Sandbox Code Playgroud)

python graph networkx dataframe

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

在 Pandas DataFrame 中重新分配索引

我很确定这是重复的,但假设我有一个 Pandas DataFrame 并且我已经根据某些列的值对行进行了排序。最初索引是整数,0, 1, …, n-1但现在它们乱序了。如何将这些索引重新分配为新排序的 DataFrame 的正确顺序?

python dataframe pandas

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

Python-将邮政编码作为字符串加载到DataFrame中?

我正在使用Pandas加载包含邮政编码(例如32771)的Excel电子表格。邮政编码以5位数字的字符串存储在电子表格中。使用命令将它们拉入DataFrame时...

xls = pd.ExcelFile("5-Digit-Zip-Codes.xlsx")
dfz = xls.parse('Zip Codes')
Run Code Online (Sandbox Code Playgroud)

它们被转换成数字。因此,“ 00501”变为501。

所以我的问题是,我该如何:

一种。加载DataFrame并保留存储在Excel文件中的邮政编码的字符串类型?

b。将DataFrame中的数字转换为五位数的字符串,例如“ 501”变成“ 00501”?

python excel zipcode pandas

3
推荐指数
2
解决办法
3005
查看次数

在python中将数据分类为具有相同间隔大小的n类别

假设我想将以下数据分类为12类:

   no.     grades
    0      9.08
    1      8.31
    2      7.42
    3      7.42
    4      7.42
    5      7.46
    6      9.67
    7     11.77
    8      8.81
    9      6.44
    10     9.40
    11     9.06
    12    10.52
    13     6.19
    14     5.04
    15     5.04
    16     9.44
    17     5.87
    18     2.67
    19     6.99
    20     9.08
    21     6.64
    22     4.83
    23     4.47
    24     6.61
    25     6.61
    26     7.42
    27     6.42
    28    10.00
    29     9.11
Run Code Online (Sandbox Code Playgroud)

可以这样做:

df.a[df.a <= 1 and df.a>0] = 1
df.a[df.a <= 2 and df.a>1] = 2
.
. …
Run Code Online (Sandbox Code Playgroud)

python pandas statsmodels

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

unhashable类型:tensorflow中的'numpy.ndarray'错误

data = pd.read_excel("/Users/madhavthaker/Downloads/Reduced_Car_Data.xlsx")

train = np.random.rand(len(data)) < 0.8

data_train = data[train]
data_test = data[~train]


x_train = data_train.ix[:,0:3].values
y_train = data_train.ix[:,-1].values
x_test = data_test.ix[:,0:3].values
y_test = data_test.ix[:,-1].values

y_label = tf.placeholder(shape=[None,1], dtype=tf.float32, name='y_label')
x = tf.placeholder(shape=[None,3], dtype=tf.float32, name='x')
W = tf.Variable(tf.random_normal([3,1]), name='weights')
b = tf.Variable(tf.random_normal([1]), name='bias')
y = tf.matmul(x,W)  + b

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    summary_op = tf.summary.merge_all()
    #Fit all training data
    for epoch in range(1000):
        sess.run(train, feed_dict={x: x_train, y_label: y_train})

        # Display logs per epoch step
        if …
Run Code Online (Sandbox Code Playgroud)

python numpy linear-regression tensorflow

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

numpy中的三张量产品

我正在将一些代码从C转换为numpy,这个特定的代码段显示出一些显着的减速.似乎只是用numpy数组中的和来替换内部循环是不够的.有没有人建议恢复一些原始性能?

我宁愿避免使用scipy.weave.我想知道我是否能以某种方式使用卷积函数,但文档有点薄,并且似乎有几个选项(scipy.signal,ndimage,numpy.convolve等).是否可以使用爱因斯坦求和函数(einsum)或tensordot?对于tensordot我认为我需要分别做X,Y,Z?

我已经将这些值设置为随机,因此可以剪切和粘贴,但我应该注意MX,MY和MZ的某些结构M(i,j)|i-j|M(i,j)=M(j,i)

一般来说,回应一些建议的编辑 n[0] != n[1] != n[2]

n = np.array((50,50,50))
np.random.seed(1)
A = np.random.random(n)
C = np.zeros_like(A)
MX = np.random.random((n[0],n[0]))
MY = np.random.random((n[1],n[1]))
MZ = np.random.random((n[2],n[2]))

for i in xrange(n[0]):
    for j in xrange(n[1]):
        for k in xrange(n[2]):
            C[i,j,k]=(MX[i,:]*A[:,j,k]).sum() + (MY[j,:]*A[i,:,k]).sum() +(MZ[k,:]*A[i,j,:]).sum()
Run Code Online (Sandbox Code Playgroud)

python arrays hpc numpy

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