小编Bob*_*esh的帖子

从python中的对数正态分布生成随机数

我需要从Python中的对数正态分布生成伪随机数.问题是我从对数正态分布模式和标准偏差开始.我没有对数正态分布的均值或中值,也没有基础正态分布的任何参数.

numpy.random.lognormal取基础正态分布的均值和标准差.我试图从我的参数计算这些,但最后用四次函数.它有一个解决方案,但我希望有一个更简单的方法来做到这一点.

scipy.stats.lognorm采取我不理解的参数.我不是母语为英语的人,文档没有意义.

你能帮我吗?

python numpy scipy

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

获取Pandas DataFrame第一栏

这个问题很奇怪,因为我知道如何做某事,但是我不知道为什么我不能以另一种方式做。

假设简单的数据帧:

import pandasas pd
a = pd.DataFrame([[0,1], [2,3]])
Run Code Online (Sandbox Code Playgroud)

我可以很容易地对该数据帧进行切片,第一列是a[[0]],第二列是a[[1]]。简单不是吗?

现在,让我们拥有更复杂的数据框架。这是我的代码的一部分:

var_vec = [i for i in range(100)]
num_of_sites = 100
row_names = ["_".join(["loc", str(i)]) for i in 
             range(1,num_of_sites + 1)]
frame = pd.DataFrame(var_vec, columns = ["Variable"], index = row_names)
spec_ab = [i**3 for i in range(100)]
frame[1] = spec_ab
Run Code Online (Sandbox Code Playgroud)

数据框frame也是熊猫DataFrame,例如一个。我可以很容易地获得第二栏frame[[1]]。但是当我尝试时frame[[0]]出现错误:

Traceback (most recent call last):

  File "<ipython-input-55-0c56ffb47d0d>", line 1, in <module>
    frame[[0]]

  File "C:\Users\Robert\Desktop\Záloha\WinPython-64bit-3.5.2.2\python-    3.5.2.amd64\lib\site-packages\pandas\core\frame.py", line 1991, in __getitem__ …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从R中的列表中绘制数据

这是问题所在.我有两个向量列表,排序(我希望,但我可以对它们进行排序,如果它们不是),其中第一个列表中的第i个向量与第二个列表中的第i个向量一样多.我只想绘制它们.但我担心R不能列出列表的元素.任何想法如何解决?多谢.这是我试过的代码.

a<-c(2,1,5)
b<-c(2,2,2)
f<-c(4)
g<-c(1)
k<-list(a,f)
l<-list(b,g)
for(i in 1:2){
plot(l[i],k[i])}
Run Code Online (Sandbox Code Playgroud)

问题是

Error in xy.coords(x, y, xlabel, ylabel, log) : 
(list) object cannot be coerced to type 'double'
Run Code Online (Sandbox Code Playgroud)

plot r list

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

删除前导和尾随 NA

我需要从向量中删除前导尾随缺失值 ( NA)。NA应保留数字之间的 s。请注意,我的下一步是索引另一个向量,NA并且只保留与第一个向量中位置相同的值。这是示例:

a <- c(NA, NA, NA, NA, NA, 5,2,3,1,2,1,5,2, NA, NA, 2,3,2,NA,NA,NA)
b <- sample(1:21)
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

a1 <- c(5,2,3,1,2,1,5,2,NA,NA,2,3,2)
# leading and trailing NAs removed

b1 <- b[6:18]
# subset with the indices kept in "a" above.
Run Code Online (Sandbox Code Playgroud)

我想我可以用条件循环来做到这一点,但我想对它进行矢量化。谢谢你的帮助!

r subset missing-data na

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

更改 matplotlib.slider 标签文本大小

我想制作绘图并使用滑块更改其属性。但标签文字matplotlib.widgets.Slider对我来说太小了。我上网寻找如何改变它的答案,但我没有运气。

代码的关键部分是:

E0_slider_ax = fig.add_axes([0.6, 0.2, 0.25, 0.03], axisbg=axis_color)
E0_slider = mw.Slider(E0_slider_ax, r'$\epsilon_0$', 1,  100, valinit = E0)
# I want to make r'$\epsilon_0$' bigger
Run Code Online (Sandbox Code Playgroud)

我尝试为标签制作文本,如下所示:

t = matplotlib.text.Text(r'$\epsilon_0$', size = 22)
E0_slider = mw.Slider(E0_slider_ax, label = t, valmin = 1, valmax = 100, valinit = E0)
Run Code Online (Sandbox Code Playgroud)

但它返回给我一个错误:

Traceback (most recent call last):

  File "<ipython-input-53-2310b0749547>", line 1, in <module>
    runfile('C:/Users/Robert/Desktop/multidif_S.py', 
wdir='C:/Users/Robert/Desktop')

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-
packages\spyderlib\widgets\externalshell\sitecustomize.py", line 845, in 
runfile
    execfile(filename, namespace)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-
packages\spyderlib\widgets\externalshell\sitecustomize.py", line 103, in …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

Python pandas nonzero cumsum

我想cumsum在in pandas中应用数据帧python,但是没有零.我只想留下零并cumsum在数据帧上做.假设我有这样的数据帧:

import pandas as pd

df =  pd.DataFrame({'a' : [1,2,0,1], 
                    'b' : [2,5,0,0], 
                    'c' : [0,1,2,5]})

   a  b  c
0  1  2  0
1  2  5  1
2  0  0  2
3  1  0  5
Run Code Online (Sandbox Code Playgroud)

结果应该是

   a  b  c
0  1  2  0
1  3  7  1
2  0  0  3
3  4  0  8
Run Code Online (Sandbox Code Playgroud)

任何想法如何避免循环?在Rave功能的,但是我很新的python,我不知道.

python pandas

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

标签 统计

python ×4

pandas ×2

r ×2

list ×1

matplotlib ×1

missing-data ×1

na ×1

numpy ×1

plot ×1

scipy ×1

subset ×1