小编spl*_*ter的帖子

在python中用scipy截断正态分布

我试图scipy在Python3中使用截断的正态分布.我想做一些简单的事情:绘制截断法线的pdf,其中心为0.5,范围从0到1.我有以下代码行

from scipy import truncnorm
import matplotlib.pyplot as plt
plt.plot([truncnorm.pdf(p,0,1, loc=0.5) for p in np.arange(0,1.1,0.1)])
Run Code Online (Sandbox Code Playgroud)

然而,这并没有给出我所期望的漂亮的钟形概率分布函数.相反,它在0.5之前等于0,我无法弄清楚为什么.有什么建议吗?

python normal-distribution matplotlib scipy python-3.x

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

Pearson 多重相关与 Scipy

我正在尝试做一些非常简单的事情,计算作为 DataFrame 的列给出的几个变量的 Pearson 相关矩阵。我希望它忽略 nans 并提供 p 值。scipy.stats.pearsonr是不够的,因为它仅适用于两个变量并且无法解释 nan。应该有比这更好的东西......

例如,

    df = pd.DataFrame([[1,2,3],[6,5,4],[1,None,9]])

       0    1  2
    0  1  2.0  3
    1  6  5.0  4
    2  1  NaN  9
Run Code Online (Sandbox Code Playgroud)

df 的列是变量,行是观测值。我想要一个返回 3x3 相关矩阵以及相应 p 值的 3x3 矩阵的命令。我希望它省略 None。也就是说,[1,6,1],[2,5,NaN]之间的相关性应该是[1,6]和[2,5]之间的相关性。

一定有一个很好的 Pythonic 方法来做到这一点,有人可以建议吗?

python scipy pearson-correlation

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

在 Python 的 matplotlib 中控制背景

我想在我的图中有空白背景,但是,由于某种原因,默认值似乎不是。下面是一个例子:

import matplotlib.pyplot as plt
x=[1,2]
y=[3,4]
plt.plot(x,y)
Run Code Online (Sandbox Code Playgroud)

这给了我下图:

在此处输入图片说明

为什么默认情况下我会得到这个网格灰色背景?如何更改默认设置?也许这与仅为一个数字设置而不更改默认值有什么不同?谢谢

编辑:显然,这是因为我导入了seaborn模块,正如答案所建议的那样。但是为什么会出现这种行为呢?所以如果我想在一个脚本中同时使用seaborn和使用matplotlib,我需要继续设置默认背景吗?

plot matplotlib figure python-3.x

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

在python3中使用os.walk时文件读取不正确

我正在使用该os.walk()方法浏览文件夹。在其中一个文件夹中,有大量文件,其中约有100,000个。这些文件如下所示:p_123_456.zip。但是它们被读为p123456.zip。确实,当我打开Windows资源管理器浏览文件夹时,在最初的几秒钟中文件看起来像p123456.zip,但随后将其外观更改为p_123_456.zip。这是一个奇怪的情况。

现在,我无法使用,time.sleep()因为所有文件夹和文件都已在循环行中读取到python变量中。这是代码片段:

    for root, dirs, files in os.walk(srcFolder):
        os.chdir(root)
        for file in files:
            shutil.copy(file, storeFolder)
Run Code Online (Sandbox Code Playgroud)

在最后一行中,我得到一个文件未找到异常,说该文件p123456.zip不存在。有谁遇到这个神秘的问题?反正绕过这个?这是什么原因?谢谢。

python file-not-found os.walk python-3.x

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

与pandas中的列和索引折叠

我期待DataFrame使用python3 对熊猫进行特定操作.我要崩溃了一个N×K个 DataFrameNKx3 DataFrame它由三列组成:入门,列从原来的索引DataFrame.这是一个例子:

          'a' 'b' 'c'
    'e'    1   2   3
    'f'    4   5   6
Run Code Online (Sandbox Code Playgroud)

期望的输出:

         0   1   2
    0    1  'a' 'e'
    1    4  'a' 'f'
    2    2  'b' 'e'
    3    5  'b' 'f'
    4    3  'c' 'e'
    5    6  'c' 'f'
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种pythonic优雅的方法来实现这一点,但是当我处理非常大的数据帧时,最高优先级是效率.

python numpy dataframe python-3.x pandas

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

R因子函数在长数据帧下运行缓慢

我有一个很长的数据框(数百万行,几列)。为了运行固定效应回归,我想使用该factor函数将分类变量声明为因子,但这非常慢。我正在寻找一种可能的解决方案来加快速度。

我的代码如下:

library(lfe)
my_data=read.csv("path_to//data.csv")
attach(data.frame(my_data))
Run Code Online (Sandbox Code Playgroud)

以下是非常慢的线路:

my_data$col <- factor(my_data$col)
Run Code Online (Sandbox Code Playgroud)

performance r dataframe categorical-data dummy-variable

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

查找由Pandas中的列表元素组成的系列模式

我正在处理pd.Series每个条目都是列表的位置.我想找到该系列的模式,即本系列中最常见的列表.我尝试过使用pandas.Series.value_countspandas.Series.mode.但是,这两种方法都会导致以下异常:

TypeError:不可用类型:'list'

这是一个这样一个系列的简单例子:

pd.Series([[1,2,3], [4,5,6], [1,2,3]])
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个将返回的功能[1,2,3].

python list series dataframe pandas

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

How to separate title from body in a git commit message using Notepad++?

git在 Windows 上使用,当我使用commit command in the command prompt, my Notepad++ opens up and asks me to put in a commit message as follows:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
Run Code Online (Sandbox Code Playgroud)

This is great, but I want to be able to separate the message title from its body. When I …

git version-control commit notepad++ git-commit

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