我有很多文件(超过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) 我正在做的工作基本上是随机走动,但每个步骤之后都有被捕的可能性。我从K个人开始,然后有一个图形绘制log(k)与n的关系,其中k是在n步中幸存的人数。
plt.plot(n,numpy.log(k)
Run Code Online (Sandbox Code Playgroud)
我需要找到该图的梯度,但也想做一条最合适的线,对您的帮助将不胜感激!
我有兴趣从这个表中删除文本: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) 试图在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)
我没有通过哪些论据我应该是谁?
我有一个包含三列的数据框.
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) 我很确定这是重复的,但假设我有一个 Pandas DataFrame 并且我已经根据某些列的值对行进行了排序。最初索引是整数,0, 1, …, n-1但现在它们乱序了。如何将这些索引重新分配为新排序的 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”?
假设我想将以下数据分类为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) 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) 我正在将一些代码从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 ×10
numpy ×3
pandas ×3
dataframe ×2
graph ×2
arrays ×1
excel ×1
gradient ×1
hpc ×1
html-table ×1
line ×1
networkx ×1
pypy ×1
statsmodels ×1
subprocess ×1
tensorflow ×1
tidy ×1
web-scraping ×1
zipcode ×1