小编Bil*_* TP的帖子

如何从Python中的网站中提取表格

这里,

http://www.ffiec.gov/census/report.aspx?year=2011&state=01&report=demographic&msa=11500
Run Code Online (Sandbox Code Playgroud)

这里有张桌子.我的目标是提取表并将其保存到csv文件中.我写了一个代码:

import urllib
import os

web = urllib.urlopen("http://www.ffiec.gov/census/report.aspx?year=2011&state=01&report=demographic&msa=11500")

s = web.read()
web.close()

ff = open(r"D:\ex\python_ex\urllib\output.txt", "w")
ff.write(s)
ff.close()
Run Code Online (Sandbox Code Playgroud)

我从这里输了.谁可以提供帮助呢?谢谢!

python urllib

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

Stata:隐藏命令行

. sysuse auto, clear
(1978 Automobile Data)

. di "I am getting some summary statistics for PRICE"
I am getting some summary statistics for PRICE

. su price

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
       price |        74    6165.257    2949.496       3291      15906

. 
end of do-file
Run Code Online (Sandbox Code Playgroud)

我想隐藏命令行,并只显示如下结果:

I am getting some summary statistics for PRICE

        Variable |       Obs        Mean    Std. Dev.       Min        Max
    -------------+--------------------------------------------------------
           price |        74    6165.257    2949.496       3291      15906
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?谢谢.

stata

5
推荐指数
2
解决办法
5360
查看次数

R中的双循环操作(以示例为例)

请看下面的小工作示例:

#### Pseudo data
nobs1 <- 4000
nobs2 <- 5000
mylon1 <- runif(nobs1, min=0, max=1)-76
mylat1 <- runif(nobs1, min=0, max=1)+37
mylon2 <- runif(nobs2, min=0, max=1)-76
mylat2 <- runif(nobs2, min=0, max=1)+37

#### define a distance function
thedistance <- function(lon1, lat1, lon2, lat2) {
 R <- 6371 # Earth mean radius [km]
 delta.lon <- (lon2 - lon1)
 delta.lat <- (lat2 - lat1)
 a <- sin(delta.lat/2)^2 + cos(lat1) * cos(lat2) * sin(delta.lon/2)^2
 c <- 2 * asin(min(1,sqrt(a)))
 d = R * c
 return(d) …
Run Code Online (Sandbox Code Playgroud)

performance for-loop r

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

Fortran | 将函数作为参数传递给其他函数

我有一个简单的一阶微分方程系统要在Matlab中求解.它看起来如下:

function passing
y0 = [0; 0];
t = 0:0.05:1;
y = myprocedure(@myfunc,0.05,t,y0);
myans = y'
end

function f = myfunc(t,y)
f = [-y(1) + y(2);
     -0.8*t + y(2)];
end

function y=myprocedure(f,h,t,y0)
n = length(t);
y = zeros(length(y0),n);
y(:,1) = y0;
for i=1:n-1
    k1 = f(t(i),y(:,i));
    k2 = f(t(i)+h/2, y(:,i)+h/2*k1);
    k3 = f(t(i)+h/2, y(:,i)+h/2*k2);
    k4 = f(t(i)+h, y(:,i)+h*k3);
    y(:,i+1) = y(:,i)+h/6*(k1+2*k2+2*k3+k4);
end
end
Run Code Online (Sandbox Code Playgroud)

所以,运行pass.m文件后,我得到了结果:

>> passing

myans =

     0         0
-0.0000   -0.0010
-0.0001   -0.0041
-0.0005   -0.0095
-0.0011   -0.0171
-0.0021   -0.0272 …
Run Code Online (Sandbox Code Playgroud)

arrays matlab fortran function

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

将多个文件读入多个数据帧

在d:\文件夹中,我有很多Stata文件,例如data_aa_1.dta,data_aa_2.dta,data_aa_3.dta data_bb_1.dta,data_bb_2.dta,data_bb_3.dta,data_cc_1.dta ....我想转换这些文件获得与R中的dta文件一样多的数据帧.所以,我相信我必须循环c("aa","bb","cc")和c(1:3).我尝试过以下内容:

library(foreign)

for(i in c("aa","bb","cc"){
    for (j in 1:3){
        data_[i]_[j] <-read.dta("d:/folder/data_[i]_[j].dta")
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这看起来不对 - 当然.

任何帮助将不胜感激.

谢谢!

for-loop r stata

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

Fortran 90,功能,阵列

我是Fortran编程的新手.我有两个.f90文件.

fmat.f90

function fmat(t,y)
 implicit none
 real::t
 real::y(2)
 real::fmat(2)
 fmat(1) = -2*t+y(1)
 fmat(2) = y(1)-y(2)
end function fmat
Run Code Online (Sandbox Code Playgroud)

并且,main.f90看起来像:

program main
 implicit none
 real::t
 real::y(2)
 real::fmat(2)
 real::k(2)
 t=0.1
 y(1)=0.5
 y(2)=1.4
 k=fmat(t,y)
 write(*,*) k
end program main
Run Code Online (Sandbox Code Playgroud)

所以,我期待0.3-0.9.但我不断收到以下错误消息:

ifort fmat.f90 main.f90

main.f90(13): error #6351: The number of subscripts is incorrect.   [FMAT]
k=fmat(t,y)
--^
compilation aborted for main.f90 (code 1)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

!====编辑====

我感谢马克的答案.我实际上可以使用"子程序"方法编译单独的文件而没有任何错误.

main.f90时

program main
  implicit none
  real::t
  real::y(2)
  real::k(2)
  t=0.1
  y(1)=0.5
  y(2)=1.4
  call fmat_sub(t,y,k)
  write(*,*) k
end program main
Run Code Online (Sandbox Code Playgroud)

fmat_sub.f90 …

fortran function

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

传递函数时Fortran错误

我正在尝试编写一个简单的Fortran代码来计算h = g(f(x)).x是长度= 2的向量.

module m1
implicit none
contains

function f(x)
implicit none
real::f(2),x(2)
f(1)=x(1)-x(2)
f(2)=exp(x(1))-x(2)**2
end function f

function g(ff)
implicit none
real::g(2),x1(2),ffreslt(2)
interface
    function ff(x)
    implicit none
    real::x(2),ff(2)
    end function ff
end interface
ffreslt=ff(x1)
g(1)=1-ffreslt(1)
g(2)=2*ffreslt(1)**2-3*ffreslt(2)+4.2
end function g

end module m1

program hgf
use m1
implicit none
real::x1(2),h(2)
x1 = (/0.55,2.47/)
h = g(f(x1))

write(*,*) h

end program hgf
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误消息:

h = g(f(x1))
      1
Error: Actual parameter 'ff' at <1> is not a PROCEDURE
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?谢谢.

fortran function

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

标签 统计

fortran ×3

function ×3

for-loop ×2

r ×2

stata ×2

arrays ×1

matlab ×1

performance ×1

python ×1

urllib ×1