我知道对于4d彩色图(3d表面,颜色由第4个字段给出),我可以使用格式的数据文件
# X Y Z C
1 1 0 4
1 2 1 3
2 1 4 2
2 2 4 5
...
Run Code Online (Sandbox Code Playgroud)
然后使用
set pm3d
splot "datafile.dat" u 1:2:3:4 with pm3d
Run Code Online (Sandbox Code Playgroud)
另一方面,我知道如何制作一个简单的曲面图,其中X和Y值是隐式的,而Z值是矩阵格式:
#Z DATA ONLY
0 1
4 4
splot "datafile.dat" matrix
Run Code Online (Sandbox Code Playgroud)
有没有办法用这种矩阵格式制作4d彩色图?例如,从一个文件中获取Z数据和从另一个文件中获取相应的颜色数据,或者将Z值和颜色组合成矩阵格式的单个文件?
假设我有一只像这样的熊猫df:
Index A B
0 foo 3
1 foo 2
2 foo 5
3 bar 3
4 bar 4
5 baz 5
Run Code Online (Sandbox Code Playgroud)
添加如下列的快速方法是什么:
Index A B Aidx
0 foo 3 0
1 foo 2 0
2 foo 5 0
3 bar 3 1
4 bar 4 1
5 baz 5 2
Run Code Online (Sandbox Code Playgroud)
即为每个唯一值添加一个增加的索引?
我知道我可以使用df.unique(),然后使用dict并enumerate创建一个查找,然后应用该字典查找来创建列.但我觉得应该有更快的方式,可能涉及groupby一些特殊的功能?
假设我的程序创建了大量数据,然后我用numpy的savez例程保存.但是,我还想将一些额外的信息与该数组一起存储.例子是当前版本的git commit id,以及用于生成数据的输入参数,以便稍后我可以查看数据并确切知道我是如何创建数据的.
有没有办法将这些信息与数组一起直接保存在npz文件中,还是我必须创建一个单独的文件?
基本上,我的问题的逻辑是:
running_sum = my_array.cumsum()
greater_than_threshold = running_sum > threshold
index = greater_than_threshold.searchsorted(True)
Run Code Online (Sandbox Code Playgroud)
即:找到第一个索引,其中条目的累积总和my_array高于阈值。
现在的问题是:我知道这my_array会很大,但条件会很早就满足。当然,这意味着我可以做一个简单的while循环来手动计算累积总和何时大于阈值,但我想知道是否有一种 numpythonic 方法,即一种无需评估整个数组即可测试某些条件的方法.
假设我有一个python模块,该模块具有很多相互依赖,相互处理结果的功能。有很多凝聚力。
这意味着我将来回传递很多论点。要么,要么我将使用全局变量。
有什么最佳实践来应对这种情况?我想到的是用字典替换那些参数。但是,我不一定喜欢如何将函数签名更改为不太具有表现力的东西。或者我可以将所有内容包装到一个类中。但这感觉就像我在欺骗并使用“伪”全局变量吗?
我专门询问如何在Python中处理此问题,但我知道其中许多内容也适用于其他语言。
我没有特定的代码示例,这只是我在考虑此问题时想到的。
例如:您有一个计算某些内容的函数。在此过程中,需要计算很多辅助材料。您的处理例程需要访问此辅助内容,并且您不希望仅重新计算它。
要更改/设置Jupyter服务器的密码,请按照此处的说明进行操作:
http://jupyter-notebook.readthedocs.io/en/latest/public_server.html#preparing-a-hashed-password
I do this in my local ipython environment. One thing to note is that somehow I get different hashes every time I re-run the passwd() command for the same password, but I assume that's intended behavior.
Anyway. I get the hash, and then I have a line like this in a Dockerfile:
ENV PW_HASH="u'sha1:salt:hash'"
and in the start-up script for the jupyter notebook I have
echo "c.NotebookApp.password = ${PW_HASH}" >> ${CONFIG_PATH}
and then
jupyter notebook --allow-root -y --no-browser …