我试图根据帖子的文本和其他功能(一天中的时间,帖子的长度等)来模拟帖子收到的分数.
我想知道如何最好地将这些不同类型的功能组合到一个模型中.现在,我有类似以下内容(从这里和这里被盗).
import pandas as pd
...
def features(p):
terms = vectorizer(p[0])
d = {'feature_1': p[1], 'feature_2': p[2]}
for t in terms:
d[t] = d.get(t, 0) + 1
return d
posts = pd.read_csv('path/to/csv')
# Create vectorizer for function to use
vectorizer = CountVectorizer(binary=True, ngram_range=(1, 2)).build_tokenizer()
y = posts["score"].values.astype(np.float32)
vect = DictVectorizer()
# This is the part I want to fix
temp = zip(list(posts.message), list(posts.feature_1), list(posts.feature_2))
tokenized = map(lambda x: features(x), temp)
X = vect.fit_transform(tokenized)
Run Code Online (Sandbox Code Playgroud)
从pandas数据框中提取我想要的所有功能似乎非常愚蠢,只是将它们全部压缩在一起.有没有更好的方法来做这一步?
CSV看起来如下所示: …
我正在制作跟踪时间的Chrome扩展程序,并使用Google App Engine作为后端.
为了测试,我正在尝试将本地版本的扩展连接到App Engine应用程序的本地版本.当我尝试发送POST请求时,我得到:
XMLHttpRequest cannot load http://localhost:8080/report. Origin chrome-extension://mbndmimplohfkkcincjodnfpaapbbmei is not allowed by Access-Control-Allow-Origin.
但是当我更改URL以便它发布到appspot.com URL时它可以工作.
什么是Access-Control-Allow-Origin,为什么阻止我从localhost获取结果?
我有一些看起来像这样的数据:
user timestamp value1
a 2007-01-01 7
a 2007-02-02 8
a 2007-02-03 9
b 2007-02-04 1
a 2007-02-05 2
b 2007-02-06 3
b 2007-02-07 4
a 2007-02-08 5
...
Run Code Online (Sandbox Code Playgroud)
每个用户具有不同数量的条目.
我的目标是了解这些条目的生成速度,并输出如下内容:
last_entry median_entry first_entry
user
a 2007-02-08 2007-02-03 2007-01-01
b 2007-02-07 2007-02-06 2007-02-04
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的代码如下:
gb = df.groupby('user')
time_median = gb['timestamp'].median()
Run Code Online (Sandbox Code Playgroud)
但这给了我DataError: No numeric types to aggregate
,大概是因为日期不是数字.
我想可以将日期转换为时间戳,并找到它们的中位数,然后将它们转回date_time对象.这是最好的方式吗?
我有一些看起来像这样的数据:
ID1 ID2 ID3
ID1 ID4 ID5
ID3 ID5 ID7 ID6
...
...
Run Code Online (Sandbox Code Playgroud)
每行是一个组.
我的目标是为每个ID创建一个字典,然后是一组与其共享> = 1组的其他ID.
例如,此数据将返回{ID1:[ID2,ID3,ID4,ID5],ID2:[ID1,ID3] ...}
我可以想到3个选项,我想知道哪个(通常)最好:
我刚开始使用Jupyter和R,我想知道是否有一种很好的方式来显示HTML或LaTeX输出.
这是我希望工作的一些示例代码:
library(xtable)
x <- runif(500, 1, 50)
y <- x + runif(500, -5, 5)
model <- lm(y~x)
print(xtable(model), type = 'html')
Run Code Online (Sandbox Code Playgroud)
它不是呈现HTML,而是将其显示为纯文本.有没有办法改变这种行为?
有没有办法获取子进程的输出并将其转换为可迭代的 csv.reader 或 csv.DictReader 对象?这是我一直在尝试的代码:
p2 = subprocess.Popen("sort command...", stdout=subprocess.PIPE)
output = p2.communicate()[0]
edits = csv.reader(output, delimiter="\t")
Run Code Online (Sandbox Code Playgroud)
基本上,我正在对一个大型 CSV 文件进行排序,然后我想将其作为 csv.reader 对象放入 Python 中。
我收到的错误是
错误:迭代器应该返回字符串,而不是整数(您是否以文本模式打开文件?)
有没有办法将此字节流视为 csv.reader 对象,或者我是否以错误的方式思考问题?
我已成功使用python虚拟环境(virtualenv)一段时间了.我刚刚升级到新版本的Ubuntu,它搞砸了我的环境.我的印象是,virtualenv是独立的,但显然我错了.:)
这是错误:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)
我在想,也许这与Ubuntu从Python 3.4改为3.5的事实有关,所以我试着改变我的环境使用的版本
virtualenv --python=/usr/bin/python3.5 py3default
Run Code Online (Sandbox Code Playgroud)
但它不会为我更新Python.
注意:这看起来是重复的,但还没有解决方案.
我有类似的数据:
df = pd.DataFrame({'user': np.random.choice(['a', 'b','c'], size=100, replace=True),
'value1': np.random.randint(10, size=100),
'value2': np.random.randint(20, size=100)})
Run Code Online (Sandbox Code Playgroud)
我用它来产生一些结果,例如,
grouped = df.groupby('user')
results = pd.DataFrame()
results['value2_sum'] = grouped['value2'].sum()
Run Code Online (Sandbox Code Playgroud)
对于此结果数据框的其中一列,我想将用户名传递给另一个函数,该函数使用数据框外的数据.
我尝试过类似的东西:
results['user_result'] = grouped.apply(lambda x: my_func(x.index))
Run Code Online (Sandbox Code Playgroud)
但无法找出有效的语法.
我对lftp很新,所以请原谅我的无知.
我只是跑我lftp的脚本,它主要由这样的线的试运行:镜-RV -x正则表达式--only存在--only-新--dry运行/本地/根/ DIR /远程/ DIR
当它打印它要做的事情时,它想要chmod一堆文件 - 我从svn抓取的文件,从未修改过,哪些应该与服务器上的文件相同.
我的本地计算机是Ubuntu,而远程计算机是Windows服务器.我有几个问题:
非常感谢!
我是一名新手程序员,在我的第一个网络应用程序(使用App Engine)上工作,所以请原谅我的无知.
我一直在修改Google提供的Hello World程序,试图让它做我想做的事情.
在他们的演示(http://code.google.com/appengine/docs/python/gettingstarted/templates.html)中,他们有2个类创建2个页面 - 一个是index.html,另一个是处理表单,将表单数据放入DB,然后重定向回主页面,主页面从DB加载信息.
我想在主页面上有一个表单,用户提交一个字符串,执行各种操作,输出显示在主页面上.
问题是用户提交的表单中的数据转到表单处理程序页面,我无法弄清楚如何将输出返回到主页面.
python ×5
pandas ×3
chmod ×1
csv ×1
ftp ×1
html ×1
jupyter ×1
lftp ×1
localhost ×1
loops ×1
nlp ×1
numpy ×1
python-3.x ×1
r ×1
scikit-learn ×1
set ×1
subprocess ×1
ubuntu ×1
virtualenv ×1
xml ×1