问题:matplotlib的轮廓对输入2D数组的期望是什么顺序?
详细说明:Matplotlib轮廓文档说常规调用是
x_axis = np.linspace(10,100,n_x)
y_axis = np.linspace(10,100,n_y)
matplotlib.pyplot.contour(x_axis, y_axis, scalar_field)
Run Code Online (Sandbox Code Playgroud)
其中scalar_field必须是2D数组.例如,scalar_field可以由.生成
scalar_field = np.array( [(x*y) for x in x_axis for y in y_axis])
scalar_field = scalar_field.reshape(n_x, n_y)
Run Code Online (Sandbox Code Playgroud)
如果scalar_field给出轮廓,
plt.contour(x_axis, y_axis,scalar_field) #incorrect
Run Code Online (Sandbox Code Playgroud)
图的方向不正确(旋转).要恢复正确的方向,必须调换scalar_field:
plt.contour(x_axis, y_axis,scalar_field.transpose()) #correct
Run Code Online (Sandbox Code Playgroud)
那么轮廓期望scalar_field的顺序是什么?
是否有一个线性代数库可以实现迭代 Gauss-Seidel 来求解线性系统?或者也许是一个预条件梯度求解器?
谢谢
编辑:最后我使用了一种粗略但正确的方法来解决它。因为无论如何我都必须创建矩阵 A(对于 Ax=b),所以我将矩阵划分为
A = M - N
Run Code Online (Sandbox Code Playgroud)
和
M = (D + L) and N = -U
Run Code Online (Sandbox Code Playgroud)
其中 D 是对角线,L 是下三角部分,U 是上三角部分。然后
Pinv = scipy.linalg.inv(M)
x_k_1 = np.dot(Pinv,np.dot(N,x_k)) + np.dot(Pinv,b)
Run Code Online (Sandbox Code Playgroud)
还做了一些收敛测试。有用。
timestamps我有一个为其生成的数据框:
from pyspark.sql.functions import avg, first
rdd = sc.parallelize(
[
(0, "A", 223,"201603_170302", "PORT"),
(0, "A", 22,"201602_100302", "PORT"),
(0, "A", 422,"201601_114300", "DOCK"),
(1,"B", 3213,"201602_121302", "DOCK")
]
)
df_data = sqlContext.createDataFrame(rdd, ["id","type", "cost", "date", "ship"])
Run Code Online (Sandbox Code Playgroud)
所以我可以生成一个datetime:
dt_parse = udf(lambda x: datetime.strptime(x,"%Y%m%d_%H%M%S")
df_data = df_data.withColumn('datetime', dt_parse(df_data.date))
Run Code Online (Sandbox Code Playgroud)
但现在我需要每天按 6 小时的间隔进行分组。每小时大约是
df_data.groupby(hour(df_data.datetime)).agg(count(ship).alias(ship)).show()
Run Code Online (Sandbox Code Playgroud)
但这对于除小时之外的其他时间间隔不起作用。有办法做到吗?
我正在尝试使用选项在Debian Jessie框上编译Python 3.6.2
./configure --prefix="/opt/python3" \
--enable-optimizations \
--with-lto \
--enable-profiling \
--enable-unicode=ucs4 \
--with-system-expat \
--with-threads \
--with-system-ffi \
'CFLAGS=-D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security ' \
'LDFLAGS=-Wl,-z,relro'
Run Code Online (Sandbox Code Playgroud)
但是我在共享模块的构建上遇到了分段错误:
renaming build/scripts-3.6/pyvenv to build/scripts-3.6/pyvenv-3.6
Segmentation fault
Makefile:586: recipe for target 'sharedmods' failed
make[2]: *** [sharedmods] Error 139
Run Code Online (Sandbox Code Playgroud)
有什么想法发生了什么?
写一个函数有:
input: array of pairs (unique id and weight) length of N, K =< N
output: K random unique ids (from input array)
Run Code Online (Sandbox Code Playgroud)
注意:在输出中多次出现某些Id的频率被调用的次数应该越多,它的权重就越大.示例:权重为5的id应出现在输出中比id为1的频率多5倍.此外,分配的内存量应在编译时知道,即不应分配额外的内存.
我的问题是:如何解决这个问题?
编辑
感谢大家的回复!
目前我无法理解对的重量如何影响输出对的出现频率,你能给我更清楚,"虚拟"解释它是如何工作的吗?
我正在使用python的matplotlib来使用contour和contourf函数来做一些轮廓.它们在使用show时都可以正常工作,但是当我尝试在方法中使用draw()时,我得到的是matplotlib窗口而不是图形.show()调用将在稍后的代码和不同的方法中完成,我希望在完成draw()时显示一个图形,而不必等到稍后的show().我做错了什么?
谢谢.
我有一个格式的数据框
value
2000-01-01 1
2000-03-01 2
2000-06-01 15
2000-09-01 3
2000-12-01 7
2001-01-01 1
2001-03-01 3
2001-06-01 8
2001-09-01 5
2001-12-01 3
2002-01-01 1
2002-03-01 1
2002-06-01 8
2002-09-01 5
2002-12-01 19
Run Code Online (Sandbox Code Playgroud)
(指数是日期时间)我需要逐年绘制所有结果,以比较每3个月的结果(数据也可以是每月),加上所有年份的平均值.
我可以轻松地分别绘制它们,但由于索引,它将根据索引移动绘图:
fig, axes = plt.subplots()
df['2000'].plot(ax=axes, label='2000')
df['2001'].plot(ax=axes, label='2001')
df['2002'].plot(ax=axes, label='2002')
axes.plot(df["2000":'2002'].groupby(df["2000":'2002'].index.month).mean())
Run Code Online (Sandbox Code Playgroud)
所以这不是理想的结果.我在这里似乎有些答案,但你必须连续,创建一个多索引和情节.如果其中一个数据帧具有NaN或缺失值,则可能非常麻烦.有熊猫的方法吗?
Yii2 主动形式
<?= $form->field($model, 'pid')->dropDownList([1=>1,2=>2])->hint('????') ?>
Run Code Online (Sandbox Code Playgroud)
我想禁用选项 2=>2。
有没有办法做到这一点?
我从Hive表中获取一些数据并插入到数据框上:
df = sqlContext.table('mydb.mytable')
Run Code Online (Sandbox Code Playgroud)
我正在过滤一些没有用的值:
df = df[df.myfield != "BADVALUE"]
Run Code Online (Sandbox Code Playgroud)
我想在数据框架上执行此操作,而不是select出于代码设计原因而作为查询。我注意到,即使在过滤数据帧之后,似乎每次以后对df进行操作时,Hive的查询和加载操作都会完成:
df.groupBy('myfield').mean()
Run Code Online (Sandbox Code Playgroud)
这将花费很长时间,就像我没有过滤数据帧一样。有没有办法对其进行深层复制以提高性能并减少内存占用量?
具有如下数据框:
from pyspark.sql.functions import avg, first
rdd = sc.parallelize(
[
(0, "A", 223,"201603", "PORT"),
(0, "A", 22,"201602", "PORT"),
(0, "A", 422,"201601", "DOCK"),
(1,"B", 3213,"201602", "DOCK"),
(1,"B", 3213,"201601", "PORT"),
(2,"C", 2321,"201601", "DOCK")
]
)
df_data = sqlContext.createDataFrame(rdd, ["id","type", "cost", "date", "ship"])
df_data.show()
Run Code Online (Sandbox Code Playgroud)
我为此做一个重点
df_data.groupby(df_data.id, df_data.type).pivot("date").agg(avg("cost"), first("ship")).show()
+---+----+----------------+--------------------+----------------+--------------------+----------------+--------------------+
| id|type|201601_avg(cost)|201601_first(ship)()|201602_avg(cost)|201602_first(ship)()|201603_avg(cost)|201603_first(ship)()|
+---+----+----------------+--------------------+----------------+--------------------+----------------+--------------------+
| 2| C| 2321.0| DOCK| null| null| null| null|
| 0| A| 422.0| DOCK| 22.0| PORT| 223.0| PORT|
| 1| B| 3213.0| PORT| 3213.0| DOCK| null| null|
+---+----+----------------+--------------------+----------------+--------------------+----------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
但是我为这些列得到了这些非常复杂的名称。alias通常适用于聚合,但是由于 …