我正在关注django教程,很多人都提出了这个问题,但我认为我的情况有点独特,因为安装python-mysql后,当我尝试做python manage.py syncdb时仍然会出现此错误,
我在virtualenv,因为我使用macports来管理我的python安装我创建了virtualenv
virtualenv code/vdjango --no-site-packages --python=/opt/local/bin/python
Run Code Online (Sandbox Code Playgroud)
在使用macports之前我安装了django py27-django,但是在创建了我的virtualenv之后,我认为我将django安装到virtualenv上更好,所以我使用了pip install django==1.5
根据django教程,我编辑了我的settings.py文件,然后执行python manage.py syncdb,最后出现以下错误:
[~/code/vdjango/newsite]$python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in …Run Code Online (Sandbox Code Playgroud) 目前我在我的 .emacs 文件中使用以下设置:
;; single tab for every indent
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq python-indent 4)
(setq tab-width 4)))
Run Code Online (Sandbox Code Playgroud)
这适用于我创建的任何新文件。如果我从 git/hg 下载一个恰好在空间上的项目,emacs 将不会将它们转换为空间上。无论文件的原始设置是什么,我如何强制 emacs 将所有空格转换为制表符。
我知道如果它是一个 git/hg 存储库,这将创建大量更改集,但我仍然想弄清楚如何通过我的 emacs 设置将任何带有空间的文件转换为选项卡。
我有以下R data.frame:
group match unmatch unmatch_active match_active
1 A 10 4 0 0
2 B 116 20 0 3
3 c 160 27 1 4
4 D 79 17 0 3
5 E 309 84 4 14
6 F 643 244 10 23
...
Run Code Online (Sandbox Code Playgroud)
我的目标是通过条形图绘制一组(http://www.cookbook-r.com/Graphs/Bar_and_line_graphs_(ggplot2)/section-包含更多变量的图表),如链接所示.
我意识到在开始之前我需要将数据转换为以下格式
group variable value
1 A match 10
2 B match 116
3 C match 160
4 D match 79
5 E match 309
6 F match 643
7 A unmatch 4
8 …Run Code Online (Sandbox Code Playgroud) 我想自定义图中y轴的间隙(间隔).我尝试了两种选择.
option1: ylim(0.0,0.6)
option2: scale_y_continuous(breaks=seq(0.0, 0.6, 0.1))
Run Code Online (Sandbox Code Playgroud)
option1的问题在于它每隔0.2到达y轴的极限(0.6).
选项2的问题在于它给出了这种情节之间的巨大差异的错觉,因为它扩大了图的0.1段.

我想要的是y轴在每0.1点断开或者在显示y轴的最大极限时将其定制为任何断点(在这种情况下为0.0到0.6但是每0.1断开).
xVal = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
a = c(0.18340368127959822, 0.17496531617798133, 0.16772886654445848, 0.15934821062512169, 0.15390913489444036, 0.14578798884106348, 0.14524174121702108, 0.13958093302847951, 0.1365009715515553, 0.13337340345559975, 0.12995175856952607, 0.12583603207983862, 0.12180656145228715, 0.11824179486798418, 0.11524630600365712)
b = c(0.13544353787855531, 0.11345498050033079, 0.11449834060237293, 0.10479213576778054, 0.09677430524414686, 0.091990671548439179, 0.089965934807318487, 0.088711600335474206, 0.088923403079789909, 0.087989321310275717, 0.085424600757017272, 0.08251334730889931, 0.080178280060313953, 0.077717041621392688, 0.076638743116633837)
c = c(0.087351324973658093, 0.12113308515702567, 0.11422800742900453, 0.11264309199970789, 0.11390287790920843, 0.10774426268894192, 0.10587704437111881, 0.10474954948318291, 0.10568277685778472, 0.10201545270338952, 0.09939827283775747, 0.098062403381144761, 0.094110034623398231, 0.091211408116407641, 0.089369778116029489)
library(ggplot2)
library(reshape2)
df = data.frame(xVal, a, b, c)
df.melt = melt(df, id="xVal")
Run Code Online (Sandbox Code Playgroud)
问题1:
ggplot(data=df.melt, aes(x=xVal, y=value, …Run Code Online (Sandbox Code Playgroud) 对许多R专家来说,这可能是一个非常简单的问题.如果数据框中有许多列,并且您只想省略一列或两列并在"多元回归"中包含其他所有内容,那么我们如何在不写出大问题的情况下实现这一目标?
例如,包括所有:
lm(y ~., data=myFrame)
Run Code Online (Sandbox Code Playgroud)
然后,如果你想逐一挑选
lm(y ~ x1 + x2 + x3)
Run Code Online (Sandbox Code Playgroud)
但如果你有50个变量,但想要省略几个最好的方法呢?因为我想遗漏两三个包括所有然后做前后选择.
我有以下R数据框:
x y z
1 -0.5242428 598.7092 1099.503
2 -0.4303593 599.2725 1100.970
3 0.1151290 599.9294 1100.062
4 0.5442775 600.9277 1098.690
5 1.4880749 599.9780 1098.479
6 0.2283675 600.3660 1099.128
Run Code Online (Sandbox Code Playgroud)
我想获得每列的分位数,思想dplyr是优雅的解决方案.以下路线需要指定每一列,但这并不优雅.
> df %>% summarise(`25%`=quantile(x, probs=0.25),
+ `50%`=quantile(x, probs=0.5),
+ `75%`=quantile(x, probs=0.75))
Run Code Online (Sandbox Code Playgroud)
我也试图看看是否有可能使用fallowing:
df %>% mutate(quantile(., probs = c(0, 0.25, 0.5, 0.75, 1)))
Run Code Online (Sandbox Code Playgroud)
我假设使用.将告诉函数为所有列执行它但我得到错误.
Error: undefined columns selected
什么是最好的解决方案
var 25% 50% 75%
x -0.587382 0.1546231 0.9864742
y 599.2584 599.9998 600.6679
z 1099.31 1100.028 1100.704
Run Code Online (Sandbox Code Playgroud) 我有一个rdd,RDD的结构如下:
org.apache.spark.rdd.RDD[(String, Array[String])] = MappedRDD[40] at map at <console>:14
Run Code Online (Sandbox Code Playgroud)
这x.take(1)看起来像:
Array[(String, Array[String])] = Array((8239427349237423,Array(122641|2|2|1|1421990315711|38|6487985623452037|684|, 1229|2|1|1|1411349089424|87|462966136107937|1568|.....))
Run Code Online (Sandbox Code Playgroud)
对于数组中的每个字符串,我想用"|"拆分 并获取第6项并使用元组的第一个元素返回它,如下所示:
8239427349237423-6487985623452037
8239427349237423-4629661361079371
Run Code Online (Sandbox Code Playgroud)
我开始如下:
def getValues(lines: Array[String]) {
for(line <- lines) {
line.split("|")(6)
}
Run Code Online (Sandbox Code Playgroud)
我也试过以下:
val b= x.map(a => (a._1, a._2.flatMap(y => y.split("|")(6))))
Run Code Online (Sandbox Code Playgroud)
但最终给了我以下内容:
Array[(String, Array[Char])] = Array((8239427349237423,Array(1, 2, 4, |, 9, |, 4, 1, 7, 6, |, 2, 9, 2, 7, 2, |, 7, |,....)))
Run Code Online (Sandbox Code Playgroud) 我已经初始化了一个可变的Map(不确定是否应该在这里使用可变的,但首先要使用可变的):
val aKey = "aa"
val myMap = scala.collection.mutable.Map[String, List[String]]()
if (myMap.exists(_._1 == aKey))
myMap(aKey) = myMap.get(aKey) :: "test"
Run Code Online (Sandbox Code Playgroud)
但是myMap.get(aKey)我收到以下错误:
类型不匹配的预期列表[String]实际选项[String]
我认为我的做法正确地添加到列表中。
我有一个列表,列表中的每个元素都是一个数据框.
> df.list[[1]]
Change Diff VarName
1 10.433354 5.311973e-02 a
2 4.587958 1.517604e-02 b
3 4.566829 1.082679e-02 c
4 4.464458 1.345807e-02 d
5 4.146909 7.758011e-03 e
6 4.141556 1.416043e-02 f
> df.list[[2]]
Change Diff VarName
1 12.443354 5.311973e-02 j
2 3.587958 1.517604e-02 k
3 4.566829 1.082679e-02 a
4 4.464458 1.345807e-02 b
5 3.146909 7.758011e-03 d
6 2.141556 1.416043e-02 e
Run Code Online (Sandbox Code Playgroud)
我的列表长度是10,其中有10个数据帧.每个数据框有30个项目.我希望intersect每个数据框的前25个与另一个数据框最终得到所有数据框中最常见的项目.
这是我到目前为止所做的:
df1 <- df.list[[1]]$VarName
df2 <- df.list[[2]]$VarName
df3 <- df.list[[3]]$VarName
df4 <- df.list[[4]]$VarName
intersect(intersect(intersect(df1,df2), df3), df4)
Run Code Online (Sandbox Code Playgroud)
有没有使用dplyr …
我有以下数据框。
>>> df = pd.DataFrame({'selected': ['A', 'B', 'C', 'A', 'B', 'C', 'A', 'D'], 'presented': ['A|B|D', 'B|D|A', 'A|B|C', 'D|C|B|A','A|C|D|B', 'D|B|C','D|C|B|A','D|B|C']})
>>> df
Run Code Online (Sandbox Code Playgroud)
这是一个很大的数据集,有50万行(为了简化示例,删除了日期列)
selected presented
0 A A|B|D
1 B B|D|A
2 C A|B|C
3 A D|C|B|A
4 B A|C|D|B
5 C D|B|C
6 A D|C|B|A
7 D D|B|C
Run Code Online (Sandbox Code Playgroud)
目标是计算selected/presented所选列中每个项目的比率。示例A是按8时间显示的,但是仅在向用户显示的时间中选择了6几次8。
我想创建以下结果data.frame:
item, selected, presented, ratio
A, 3, 6, 0.5
B, 2, 8, 0.25
Run Code Online (Sandbox Code Playgroud)
我从关注开始,但无法弄清楚分组,因为如果我仅按分组selected并开始计数,它将只能捕获显示时间。
>>> df['ratio'] = df.apply(lambda x:1 …Run Code Online (Sandbox Code Playgroud) r ×5
python ×3
dplyr ×2
ggplot2 ×2
scala ×2
apache-spark ×1
dataframe ×1
django ×1
emacs ×1
intersection ×1
melt ×1
mysql-python ×1
pandas ×1
rdd ×1
tabs ×1
whitespace ×1