我正在使用标准库
using Excel = Microsoft.Office.Interop.Excel;
Run Code Online (Sandbox Code Playgroud)
这就是我创建Excel的方式,只是代码的一小部分:
//Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
Excel._Application xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//add data
xlWorkSheet.Cells[1, 1] = "";
xlWorkSheet.Cells[1, 2] = "Student1";
xlWorkSheet.Cells[1, 3] = "Student2";
xlWorkSheet.Cells[1, 4] = "Student3";
Run Code Online (Sandbox Code Playgroud)
问题是,有时单元格的大小可能小于文本大小.我试过这个:
Excel.Range chartRange;
chartRange.EntireColumn.ColumnWidth = 31.43;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我需要分别为每个列设置此属性.我怎么能这样做?
我需要删除一些某些文件,然后用户关闭WPF中的程序.所以我从这里尝试了MDSN代码http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx这样:
此代码位于此处 App.xml.cs
public partial class App : Application
{
void App_Exit(object sender, ExitEventArgs e)
{
MessageBox.Show("File deleted");
var systemPath = System.Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData);
var _directoryName1 = Path.Combine(systemPath, "RadiolocationQ");
var temp_file = Path.Combine(_directoryName1, "temp.ini");
if (File.Exists(temp1_file))
{
File.Delete(temp1_file);
}
}
}
// App.xaml
<Application x:Class="ModernUIApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
ShutdownMode="OnExplicitShutdown"
Exit="App_Exit">
<Application.Resources>
Run Code Online (Sandbox Code Playgroud)
首先它不删除文件,其次这个程序在我按下退出按钮后停留在这个过程中(这真的很奇怪).此代码不会给出任何错误.最后它没有表明MessageBox这里有什么不对吗?
我认为他无法找到这个功能.
所以假设我们有这样一个简单的查询:
Select a.col1, b.col2 from tb1 as a inner join tb2 as b on tb1.col7 = tb2.col8;
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的:
tb1 col1
tb1 col7
tb2 col2
tb2 col8
Run Code Online (Sandbox Code Playgroud)
我尝试使用一些 python 库来解决这个问题:
1) 即使只使用提取表sqlparse也可能是一个大问题。例如,这本官方书籍根本无法正常工作。
2)使用正则表达式似乎真的很难实现。
3)但后来我发现了这个,这可能会有所帮助。但是问题是我无法连接到任何数据库并执行该查询。
有任何想法吗?
我正在自己编写字符串类.我有这样的代码.我只想超载operator=.这是我的实际代码,我在代码的最后部分得到错误.
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
class S {
public:
S();
~S() { delete []string;}
S &operator =(const S &s);
private:
char *string;
int l;
};
S::S()
{
l = 0;
string = new char[1];
string[0]='\0';
}
S &operator=(const S &s)
{
if (this != &s)
{
delete []string;
string = new char[s.l+1];
memcpy(string,s.string,s.l+1);
return *this;
}
return *this;
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是我收到错误'S&operator =(const S&)'必须是非静态成员函数.
我正在连接两个数据帧,所以我希望一个数据帧位于另一个数据帧。但首先我对初始数据框做了一些转换:
scaler = MinMaxScaler()
real_data = pd.DataFrame(scaler.fit_transform(df[real_columns]), columns = real_columns)
Run Code Online (Sandbox Code Playgroud)
然后连接:
categorial_data = pd.get_dummies(df[categor_columns], prefix_sep= '__')
train = pd.concat([real_data, categorial_data], axis=1, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但行数增加了:
print(df.shape, real_data.shape, categorial_data.shape, train.shape)
(1700645, 23) (1700645, 16) (1700645, 130) (1703915, 146)
Run Code Online (Sandbox Code Playgroud)
发生了什么以及如何解决问题?
如您所见,train 的列数等于 real_data 和 categorial_data 列的总和
我有某种高级代码,因此模型训练等由pipeline_network课程来包装。我的主要目标是每折一次训练新模型。
for train_idx, valid_idx in cv.split(meta_train[DEPTH_COLUMN].values.reshape(-1)):
meta_train_split, meta_valid_split = meta_train.iloc[train_idx], meta_train.iloc[valid_idx]
pipeline_network = unet(config=CONFIG, suffix = 'fold' + str(fold), train_mode=True)
Run Code Online (Sandbox Code Playgroud)
但是然后我继续进行第二次折叠,所有故障都出自gpu内存:
RuntimeError: cuda runtime error (2) : out of memory at /pytorch/torch/lib/THC/generic/THCStorage.cu:58
Run Code Online (Sandbox Code Playgroud)
在纪元结束时,我尝试手动删除该管道,但没有运气:
def clean_object_from_memory(obj): #definition
del obj
gc.collect()
torch.cuda.empty_cache()
clean_object_from_memory( clean_object_from_memory) # calling
Run Code Online (Sandbox Code Playgroud)
调用它也没有帮助:
def dump_tensors(gpu_only=True):
torch.cuda.empty_cache()
total_size = 0
for obj in gc.get_objects():
try:
if torch.is_tensor(obj):
if not gpu_only or obj.is_cuda:
del obj
gc.collect()
elif hasattr(obj, "data") and torch.is_tensor(obj.data):
if not gpu_only or obj.is_cuda:
del obj …Run Code Online (Sandbox Code Playgroud) 这个问题真的很奇怪,因为这件事对其他数据集来说效果很好.
完整代码:
import numpy as np
import pandas as pd
import xgboost as xgb
from sklearn.cross_validation import train_test_split
# # Split the Learning Set
X_fit, X_eval, y_fit, y_eval= train_test_split(
train, target, test_size=0.2, random_state=1
)
clf = xgb.XGBClassifier(missing=np.nan, max_depth=6,
n_estimators=5, learning_rate=0.15,
subsample=1, colsample_bytree=0.9, seed=1400)
# fitting
clf.fit(X_fit, y_fit, early_stopping_rounds=50, eval_metric="logloss", eval_set=[(X_eval, y_eval)])
#print y_pred
y_pred= clf.predict_proba(test)[:,1]
Run Code Online (Sandbox Code Playgroud)
最后一行导致下面的错误(提供完整输出):
Will train until validation_0 error hasn't decreased in 50 rounds.
[0] validation_0-logloss:0.554366
[1] validation_0-logloss:0.451454
[2] validation_0-logloss:0.372142
[3] validation_0-logloss:0.309450
[4] validation_0-logloss:0.259002
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud) 我以这种方式获得了时间序列数据:
from pandas.io.data import DataReader
from datetime import datetime
ts_log = DataReader('RUB=X', 'yahoo', datetime(2007,1,1), datetime(2016,8,30))["Adj Close"]
Run Code Online (Sandbox Code Playgroud)
ts_log看起来是这样的:
Date
2007-01-01 3.269759
2007-01-02 3.269759
2007-01-03 3.270519
..... ......
Run Code Online (Sandbox Code Playgroud)
然后,我想使用statsmodels进行分解:
from statsmodels.tsa.seasonal import seasonal_decompose
decomposition = seasonal_decompose(ts_log)
Run Code Online (Sandbox Code Playgroud)
ValueError:您必须指定频率或x必须是带有时间序列索引的pandas对象
为了解决这个问题,我尝试了两种方法:
1)这行不通,因为并非每天都有价值:
ts_log = pd.DataFrame(data=ts_log.values, index=pd.date_range(start=datetime(2007, 1, 1),
end = datetime(2016,8,30), freq='D'), columns=['usd/rub'])
Run Code Online (Sandbox Code Playgroud)
2)我认为将索引转换为datetime应该可以,但是不能:
ts_log = pd.DataFrame(data=ts_log.values, index=pd.to_datetime(ts_log.index), columns=['usd/rub'])
完全一样的错误。
我该如何使工作正常?
PS该代码非常好,但是我有一些不同的数据,无论如何它应该可以帮助您了解这个想法:
length = 400
x = np.sin(np.arange(length)) * 10 + np.random.randn(length)
df = pd.DataFrame(data=x, index=pd.date_range(start=datetime(2015, 1, 1), periods=length, freq='w'), columns=['value'])
decomposition = seasonal_decompose(df)
Run Code Online (Sandbox Code Playgroud) 我试图通过控制台中的pip安装该库。我正在使用win7和python v.2.7.10。但未能实现。Acording到这 -它可用于我的Python版本了。
我尝试通过几种方式进行安装:
点安装sqlite
点安装sqlite3
点安装sqlite-devel
怎么了
Full error: Could not find a version that satisfies the requirement().
No matching distribution found for ...
Run Code Online (Sandbox Code Playgroud) 我有 coo_matrixX和索引trn_idx,我想通过它们访问该 maxtrix
print (type(X ), X.shape)
print (type(trn_idx), trn_idx.shape)
<class 'scipy.sparse.coo.coo_matrix'> (1503424, 2795253)
<class 'numpy.ndarray'> (1202739,)
Run Code Online (Sandbox Code Playgroud)
这样调用:
X[trn_idx]
TypeError: only integer scalar arrays can be converted to a scalar index
Run Code Online (Sandbox Code Playgroud)
无论是这样:
X[trn_idx.astype(int)] #same error
Run Code Online (Sandbox Code Playgroud)
如何通过索引访问?