我已将我的团队使用的库放入从TeamCity部署到网络文件夹的nuget包中.我虽然无法调试这段代码!SymbolSource是我读过的一个解决方案,但我更愿意找到一些方法直接从Teamcity访问.pdb /源文件.有谁知道如何做到这一点?
编辑. 当我签'Include Symbols and Source'
入Nuget Pack构建步骤时,除了网络文件夹中的.nupkg文件之外,TeamCity还会创建.Symbol.nupkg..Symbol.nupkg包含src和.pdb文件.
编辑. 我'Include Symbols and Source'
在TeamCity上取消选中并将以下内容添加到我的nuspec文件中:
<files>
<file src="..\MyLibrary\bin\release\MyLibrary.dll" target="lib\net40" />
<file src="..\MyLibrary\bin\release\MyLibrary.pdb" target="lib\net40" />
<file src="..\MyLibrary\*.cs" target="src" />
<file src="..\MyLibrary\**\*.cs" target="src" />
</files>
Run Code Online (Sandbox Code Playgroud)
这在nuget包中添加了我的库的dll,pdb和源文件,并且没有生成.Symbols文件,我认为这只是符号服务器所需要的.
我想知道在scikit-learn中是否存在处理nan/null值的分类器.我以为随机森林回归器处理这个,但是当我打电话时我收到了一个错误predict
.
X_train = np.array([[1, np.nan, 3],[np.nan, 5, 6]])
y_train = np.array([1, 2])
clf = RandomForestRegressor(X_train, y_train)
X_test = np.array([7, 8, np.nan])
y_pred = clf.predict(X_test) # Fails!
Run Code Online (Sandbox Code Playgroud)
我是否可以使用缺少值的任何scikit-learn算法调用预测?
编辑. 现在我想到这一点,这是有道理的.这在训练期间不是问题,但是当你预测变量为空时如何分支?也许你可以分开两种方式并平均结果?只要距离函数忽略空值,k-NN似乎应该可以正常工作.
编辑2(更老,更聪明) 一些gbm库(例如xgboost)正是为了这个目的而使用三元树而不是二叉树:2个孩子用于是/否决定,1个孩子用于缺失决策.sklearn正在使用二叉树
我想知道是否有某种方法可以为多列上的spark数据帧指定自定义聚合函数.
我有一个类似这样的表(名称,项目,价格):
john | tomato | 1.99
john | carrot | 0.45
bill | apple | 0.99
john | banana | 1.29
bill | taco | 2.59
Run Code Online (Sandbox Code Playgroud)
至:
我想将每个人的项目和成本汇总到这样的列表中:
john | (tomato, 1.99), (carrot, 0.45), (banana, 1.29)
bill | (apple, 0.99), (taco, 2.59)
Run Code Online (Sandbox Code Playgroud)
这在数据帧中是否可行?我最近了解到collect_list
它,但它似乎只适用于一个专栏.
如果需要,我想在我的.bashrc
文件中添加一些内容来运行kinit
.有没有办法测试我是否需要做kinit
?像这样的东西:
if [ kinitNeeded ];
do kinit;
done
kinitNeeded() { ??? }
Run Code Online (Sandbox Code Playgroud) 我想知道pandas是否能够自动检测哪些列是datetime对象并以日期而不是字符串的形式读取这些列?
我正在看api和相关的堆栈溢出帖子,但我似乎无法搞清楚.
这是一个黑盒系统,它在生产中接受任意csv架构,所以我不知道列名是什么.
这似乎可以工作但你必须知道哪些列是日期字段:
import pandas as pd
#creating the test data
df = pd.DataFrame({'0': ['a', 'b', 'c'], '1': ['2015-12-27','2015-12-28', '2015-12-29'], '2': [11,12,13]})
df.to_csv('test.csv', index=False)
#loading the test data
df = pd.read_csv('test.csv', parse_dates=True)
print df.dtypes
# prints (object, object, int64) instead of (object,datetime, int64)
Run Code Online (Sandbox Code Playgroud)
我在想如果它不能这样做,那么我可以写一些东西:
- 查找具有字符串类型的列.
- 获取一些唯一值并尝试解析它们.
- 如果成功,则尝试解析整个列.
编辑. 我写了一个简单的方法convertDateColumns
来做到这一点:
import pandas as pd
from dateutil import parser
def convertDateColumns(self, df):
object_cols = df.columns.values[df.dtypes.values == 'object']
date_cols = [c for c in object_cols if testIfColumnIsDate(df[c], num_tries=3)]
for …
Run Code Online (Sandbox Code Playgroud) 在完成Console.WriteLine(暂停它或其他东西)后,我是否需要对此线程执行某些操作?或者垃圾收集是否会启动并删除此线程?
public void testThreading() {
.. do some stuff
var t = new Thread(() => { Console.WriteLine("hey!"); })
t.Start();
}
Run Code Online (Sandbox Code Playgroud) 我多年来一直使用的查询突然开始抛出一个奇怪的错误.当我对查询进行外观修改(1 + x而不是x + 1)时,不再出现错误.它抱怨的存储过程甚至不再存在于服务器上!
如果有人对这个问题是什么以及为什么这个"改变"修复了它,我很好奇?
之前的查询:
UPDATE SOME_DB..JOB_QUEUE
SET ERROR_COUNT = ERROR_COUNT + 1,
JOB_START_TIME = '{1}'
WHERE JOB_ID = {0}
Run Code Online (Sandbox Code Playgroud)
查询后:
UPDATE SOME_DB..JOB_QUEUE
SET ERROR_COUNT = 1 + ERROR_COUNT,
JOB_START_TIME = '{1}'
WHERE JOB_ID = {0}
Run Code Online (Sandbox Code Playgroud)
它抛出的错误:
Sybase.Data.AseClient.AseException: Procedure sp_net_dblatency expects parameter @heartbeat, which was not supplied.
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人有任何想法在这里发生了什么?
编辑. 这是存储过程.
create procedure sp_net_dblatency
@heartbeat datetime
as
update DATABASE_1234..LATENCY set START_UTC_TIME=@heartbeat, END_UTC_TIME=getutcdate() where DATABASE_NAME=db_name()
if (@@ROWCOUNT = 0)
insert DATABASE_1234..LATENCY (DATABASE_NAME, START_UTC_TIME, END_UTC_TIME) values (db_name(), @heartbeat, getutcdate())
Run Code Online (Sandbox Code Playgroud) 我的下面的代码工作正常,除非我使用创建一个超过3000个术语的DocumentTermMatrix.这一行:
movie_dict <- findFreqTerms(movie_dtm_train, 8)
movie_dtm_hiFq_train <- DocumentTermMatrix(movie_corpus_train, list(dictionary = movie_dict))
Run Code Online (Sandbox Code Playgroud)
失败:
Error in simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), :
'i, j, v' different lengths
In addition: Warning messages:
1: In mclapply(unname(content(x)), termFreq, control) :
all scheduled cores encountered errors in user code
2: In simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), :
NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?对于DocumentTermMatrix,3000*60000矩阵是否太大了?这对于文档分类来说似乎相当小..
完整代码段:
n1 <- 60000
n2 <- 70000
#******* loading the …
Run Code Online (Sandbox Code Playgroud) 我想知道如何过滤具有前N个值之一的RDD.通常我会对RDD进行排序并将top
N个项目作为驱动程序中的数组来查找可以广播的第N个值来过滤rdd,如下所示:
val topNvalues = sc.broadcast(rdd.map(_.fieldToThreshold).distict.sorted.take(N))
val threshold = topNvalues.last
val rddWithTopNValues = rdd.filter(_.fieldToThreshold >= threshold)
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下我的N太大了,所以我怎么能用RDD这样做呢?:
def getExpensiveItems(itemPrices: RDD[(Int, Float)], count: Int): RDD[(Int, Float)] = {
val sortedPrices = itemPrices.sortBy(-_._2).map(_._1).distinct
// How to do this without collecting results to driver??
val highPrices = itemPrices.getTopNValuesWithoutCollect(count)
itemPrices.join(highPrices.keyBy(x => x)).map(_._2._1)
}
Run Code Online (Sandbox Code Playgroud) 如果我有一个像这样的功能
public void usefulUtility(parameters...) {
string c = "select * from myDB";
do_a_database_call(c);
}
Run Code Online (Sandbox Code Playgroud)
在很多地方使用过的,将它更改为:
public bool usefulUtility(parameters...) {
string c = "select * from myDB";
bool result = do_a_database_call(c);
return result;
}
Run Code Online (Sandbox Code Playgroud)
这可能会破坏任何代码吗?
我什么都想不到......但它有可能吗?