我有一个使用seaborn
包生成的散点图矩阵,我想删除所有刻度标记,因为这些只是弄乱图形(或者只是删除x轴上的那些),但我不确定怎么做,并没有成功进行谷歌搜索.有什么建议?
import seaborn as sns
sns.pairplot(wheat[['area_planted',
'area_harvested',
'production',
'yield']])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我在Python中找到众所周知的概率分布的分位数函数时遇到了问题,它们是否存在?特别是,是否存在反正态分布函数?我在Numpy或Scipy都找不到任何东西.
我正在学习 SQL(使用 MySQL)并且有一个非常简单的问题。我有一张包含员工工资和奖金信息的表格,我想将两者相加,但是当至少一个被加数为 时,让 MySQL 返回零值NULL
,而不是返回NULL
。什么是最简单的方法来做到这一点?
mysql> SELECT SALARY, BONUS FROM EMPLOYEE_PAY_TBL;
+----------+---------+
| SALARY | BONUS |
+----------+---------+
| 30000.00 | 2000.00 |
| NULL | NULL |
| 40000.00 | NULL |
| 20000.00 | 1000.00 |
| NULL | NULL |
| NULL | NULL |
+----------+---------+
mysql> SELECT SALARY + BONUS FROM EMPLOYEE_PAY_TBL;
+----------------+
| SALARY + BONUS |
+----------------+
| 32000.00 |
| NULL |
| NULL |
| 21000.00 | …
Run Code Online (Sandbox Code Playgroud) 我安装了Python 2和Python 3,但是当我使用ipython
终端运行IPython时它会启动Python 2.如何让IPython运行Python 3?在IPython引用中,它表示您只需要使用ipython3
终端中的命令,但这不起作用.这个问题似乎在Stackoverflow的其他地方被问到,但我没有看到一个非常明确的答案.
我正在研究加密拼图,我需要使用独占或两个二进制数字(我operator
在Python中使用该包).如果我运行operator.xor(1001111, 1100001)
,例如我得到非常奇怪的输出2068086
.为什么不返回0101110
或至少101110
?
我很确定这是重复的,但假设我有一个 Pandas DataFrame 并且我已经根据某些列的值对行进行了排序。最初索引是整数,0, 1, …, n-1
但现在它们乱序了。如何将这些索引重新分配为新排序的 DataFrame 的正确顺序?
我在Python好奇,为什么x[0]
检索的第一个元素x
,同时x[-1]
检索以相反的顺序读取时的第一要素。语法对我来说似乎不一致,因为在一种情况下,我们计算距第一个元素的距离,而在向后阅读时不计算距最后一个元素的距离。这样的事情不是x[-0]
更有意义吗?我的一个想法是,Python 中的区间通常被认为包含下限,但不包含上限,因此可以将索引解释为与下限或上限元素的距离。关于为什么选择这个符号的任何想法?(我也很好奇为什么零索引是首选。)
我正在尝试拟合广义加性逻辑回归模型,但出现了一个奇怪的错误:
gam_object = gam(event ~ s(time) + ., data = lapse_train, family = "binomial")
Error in terms.formula(gf, specials = c("s", "te", "ti", "t2")) : '.' in formula and no 'data' argument
Run Code Online (Sandbox Code Playgroud)
为什么它会告诉我这里没有数据参数,而显然有数据参数?
我正在研究 Project Euler 的问题 24,如下所示:
排列是对象的有序排列。例如,3124 是数字 1、2、3 和 4 的一种可能排列。如果所有排列都按数字或字母顺序列出,我们将其称为字典顺序。0、1 和 2 的字典排列是:
012 021 102 120 201 210
数字 0、1、2、3、4、5、6、7、8 和 9 的第一百万个字典排列是什么?
我正在尝试使用 Haskell 来解决这个问题,并从暴力方法开始:
import Data.List
(sort . permutation) [0..9] !! 999999
Run Code Online (Sandbox Code Playgroud)
但这花费的时间太长了,我想知道是否是因为程序首先获取所有排列,然后对它们进行排序,最后获取第百万个元素,这比它需要做的工作要多得多。
所以我想如果我要编写一个函数来枚举已经按字典顺序排列的排列,那么我可以加快速度,这样我们就可以停在第一百万个元素并得到答案。
我想到的算法是首先对输入列表进行排序x
,然后取出第一个(最小的)元素并将其按字典顺序添加到其余元素的排列中。这些顺序可以通过在现在已经排序的尾部递归调用原始函数来找到x
(这意味着我们的原始函数应该有一种方法来标记输入列表是否已排序)。然后我们继续处理下一个最大的元素,x
依此类推,直到我们得到完整的有序列表。不幸的是,我仍然是 Haskell 初学者,我尝试编写这个函数失败了。关于如何做到这一点有任何提示吗?
在正常模式下使用vi时,我注意到enter键会将光标移到正下方的第一个字符处.这是一个很好的功能,但我似乎无法找到向上做同样事情的关键.任何人都知道这样做的关键或如何创建自己的关键?
这是我从Project Euler编写一个编程难题的一小段代码.我正在阅读1000位数的文件,并试图找到具有最大产品的13个相邻的文件.问题是该行max_prod = prod_over_str(s)
没有设置max_prod
为返回值,prod_over_str
而是一个函数,并且运行脚本会导致语句出错,if prod_over_str(s) > max_prod
因为某种程度上prod_over_str(s)
它int
还是max_prod
一个函数.然而,如果我将值打印prod_over_str(s)
到屏幕上,那么它就是一个数字.我怎样才能解决这个问题?
def prod_over_str(s):
prod = 1
for c in s:
prod *= int(c)
return prod
with open('/path/text.txt') as f:
s = f.read(13)
max_prod = prod_over_str(s)
while True:
c = f.read(1)
if not c:
break
s = s[1:] + c
if prod_over_str(s) > max_prod:
max_prod = prod_over_str
Run Code Online (Sandbox Code Playgroud)
这是Traceback:
In [18]: %run problem8.py
---------------------------------------------------------------------------
TypeError Traceback (most recent call last) …
Run Code Online (Sandbox Code Playgroud)