我有两个data.table X和ÿ.
列X:area, id, value
在列ÿ:ID, price, sales
创建两个data.tables:
X = data.table(area=c('US', 'UK', 'EU'),
id=c('c001', 'c002', 'c003'),
value=c(100, 200, 300)
)
Y = data.table(ID=c('c001', 'c002', 'c003'),
price=c(500, 200, 400),
sales=c(20, 30, 15)
)
Run Code Online (Sandbox Code Playgroud)
我为X和Y设置了键:
setkey(X, id)
setkey(Y, ID)
Run Code Online (Sandbox Code Playgroud)
现在,我尝试加入X和Ÿ通过id在X和ID在ÿ:
merge(X, Y)
merge(X, Y, by=c('id', 'ID'))
merge(X, Y, by.x='id', by.y='ID')
Run Code Online (Sandbox Code Playgroud)
所有引发的错误都说明by参数中的列名无效.
我参考了data.table手册,发现merge函数不支持 …
from __future__ import absolute_import在每个模块中启用目录树看起来像:
Project/
prjt/
__init__.py
pkg1/
__init__.py
module1.py
tests/
__init__.py
test_module1.py
pkg2/
__init__.py
module2.py
tests/
__init__.py
test_module2.py
pkg3/
__init__.py
module3.py
tests/
__init__.py
test_module3.py
data/
log/
Run Code Online (Sandbox Code Playgroud)
我试图用功能compute()的pkg2/module2.py在pkg1/module1.py写,如:
# In module1.py
import sys
sys.path.append('/path/to/Project/prjt')
from prjt.pkg2.module2 import compute
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时python module1.py,解释器引发了一个ImportError No module named prjt.pkg2.module2.
Project到sys.path?test_module1.py在交互式翻译中运行?通过python prjt/pkg1/tests/test_module1.py或python -m prjt/pkg1/tests/test_module1.py?环境:
每当我关闭一个IPython笔记本并重新打开它时,我必须重新运行所有单元格.但是一些细胞涉及密集计算.
相比之下,knitr在R中默认将结果保存在缓存目录中,因此只有新代码和新设置才会调用计算.
我看了一下,ipycache但似乎缓存了一个单元而不是笔记本.knitr在IPython中有缓存的对应物吗?
当两个任务尝试select然后insert同一个表时发生死锁.程序如下:
Task_1 Task_2
------ ------
Phase 1 | SELECT SELECT
Phase 2 | INSERT INSERT
SELECT count(id) from mytbl where name = 'someValue' and timestampdiff(hour, ts, now()) < 1;
INSERT mytbl (id, name, ts) values ('newId', 'anotherValue', now());
Run Code Online (Sandbox Code Playgroud)
死锁日志如下(部分细节被截断):
------------------------
LATEST DETECTED DEADLOCK
------------------------
151225 8:22:17
*** (1) TRANSACTION:
TRANSACTION 0 746402, ACTIVE 0 sec, process no 4690, OS thread id 140411390486272 inserting
mysql tables in use 1, locked 1
LOCK WAIT 1172 lock …Run Code Online (Sandbox Code Playgroud) 我使用Google Gson API构建JSON.当我使用以下命令初始化JsonObject时:
JsonObject json = new JsonObject();
Run Code Online (Sandbox Code Playgroud)
事实上是打印出来的{}.
我试图排除"空"JSON,即{}没有添加任何属性的JSON .但我找不到类似于isEmpty()Gson API的方法.
如何使用Gson API找出"空"JSON?
给出变体长度特征列表:
features = [
['f1', 'f2', 'f3'],
['f2', 'f4', 'f5', 'f6'],
['f1', 'f2']
]
Run Code Online (Sandbox Code Playgroud)
其中,每个样品具有特征的变体数量和特征dtype是str和已经一热.
为了使用sklearn的特征选择实用程序,我必须将其转换features为2D数组,如下所示:
f1 f2 f3 f4 f5 f6
s1 1 1 1 0 0 0
s2 0 1 0 1 1 1
s3 1 1 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我怎么能通过sklearn或numpy实现它?
我有一个data.frame(比如说"df")如下所示:
Hospital.Name | State | Mortality.Rate
'hospital_1' | 'AA' | 0.2
'hospital_2' | 'AA' | 0.3
'hospital_3' | 'BB' | 0.3
'hospital_4' | 'CC' | 0.5
Run Code Online (Sandbox Code Playgroud)
(Hospital.Name是唯一的)
现在我想通过"State"命令"Mortality.Rate"组,即将速率命令在某个状态.如果费率存在平局,那么"Hospital.Name"用于解决平局.
我想到了"order()"和"tapply()"函数.我这样编码:
tapply(df$Mortality.Rate, df$State, order, df$Hospital.Name, na.last=NA)
Run Code Online (Sandbox Code Playgroud)
但是,弹出了"参数长度不同"的错误.当"订单"功能应用于切片"费率"时,订单的第二个参数(即df $ Hospital.Name)不会被切片.
我如何将第二个参数(用于解决排序中的关系)传递给tapply()或者是否还有其他方法?
我在Mac OS X Mavericks上配置macvim.我在〜/ .vimrc和〜/ .gvimrc中输入"set guifont = Menlo\14",但编辑器仍然以快递方式显示.
我插入":set guifont?" 它揭示了"guifont = Menlo\14".我概述了.vimrc和.gvimrc的内容,但发现没有其他行覆盖guifont设置.
我已经检查了堆栈溢出中的几个帖子,但还是找不到解决方案.希望得到一些帮助,感谢您的期待.
我发现"使用开源工具进行数据分析"一书中的排序图表(也称为Pareto图表)非常有用.所以我试着用ggplot2绘制书中的例子.
书中给出了下图,注意坐标被翻转,使得国家的名称显示在Y轴上,更具可读性.虚线是数据的CDF(累积分布函数).
(来源:使用开源工具进行数据分析)
要制作部分模拟数据:
country = c('US', 'Brazil', 'Japan', 'India', 'Germany', 'UK', 'Russia', 'France')
sales = c(40, 14, 7, 6, 2.8, 2, 1.8, 1)
# The data is already sorted
df = data.table(country=country, sales=sales)
Run Code Online (Sandbox Code Playgroud)
然后我用stat_ecdfggplot2来绘制CDF:
ggplot(data=df) + stat_ecdf(aes(x=sales))
Run Code Online (Sandbox Code Playgroud)
但这个数字看起来像:

X轴显示销售量但不显示国家/地区.
我发现了另一种实现方式在这里.但它是通过折线图和明确的累积和实现的,这看起来与书中的例子完全不同.
是否有方法将帕累托图绘制为第一个数字?
我对虚线的内涵犯了一个错误.它不是CDF,而是累积比例.
在一个CDF,它的值映射到其百分等级,的百分等级US为100但秩顺序图表中,所述percentage的US是约45%,这表明在销售US占用总销售额的45%.
因此,我不应该使用stat_ecdf绘制排序图表.
我有一张像:
value type
10 0
12 1
13 1
14 2
Run Code Online (Sandbox Code Playgroud)
生成虚拟数据:
import numpy as np
value = np.random.randint(1, 20, 10)
type = np.random.choice([0, 1, 2], 10)
Run Code Online (Sandbox Code Playgroud)
我想用 matplotlib (v1.4) 在 Python 3 中完成一项任务:
valuetype,即使用不同的颜色来区分类型identity用于垃圾箱,即垃圾箱的宽度为 1该问题是:
type颜色图(例如Accent或 matplotlib 中的其他 cmap)的值和绘制颜色为条形分配颜色?我不想使用命名颜色(即'b', 'k', 'r')笔记
pandas.plot两个小时,但未能获得所需的直方图。matplotlib.pyplot,而无需导入一堆模块,例如matplotlib.cm, matplotlib.colors …