我试图通过使用iconv从unknown-8bit转换为us-ascii.我有
$ iconv -f unknown-8bit -t us-ascii file.txt > file1.txt
它显示一条错误消息.
iconv: conversion from `unknown-8bit' is not supported
Try `iconv --help' or `iconv --usage' for more information.
Run Code Online (Sandbox Code Playgroud)
是否有替代方案进行转换?谢谢!!
我在sklearn处理大量的文本数据.首先,我需要对文本上下文进行矢量化(字数统计),然后执行TfidfTransformer.我有以下代码似乎没有从CountVectorizer输出到TfidfTransformer的输入.
TEXT = [data[i].values()[3] for i in range(len(data))]
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
vectorizer = CountVectorizer(min_df=0.01,max_df = 2.5, lowercase = False, stop_words = 'english')
X = vectorizer(TEXT)
transformer = TfidfTransformer(X)
X = transformer.fit_transform()
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到此错误:
Traceback (most recent call last):
File "nlpQ2.py", line 27, in <module>
X = vectorizer(TEXT)
TypeError: 'CountVectorizer' object is not callable
Run Code Online (Sandbox Code Playgroud)
我以为我已经对文本进行了矢量化,现在它已经在矩阵中了 - 是否有一个我错过的过渡步骤?谢谢!!
当我尝试使用 drc 包和 drm 函数将数据与非线性回归模型拟合时,我对这条警告消息感到困惑。
我有
N_obs <- c(1, 80, 80, 80, 81, 82, 83, 84, 84, 95, 102, 102, 102, 103, 104, 105, 105, 109, 111, 117, 120, 123, 123, 124, 126, 127, 128, 128, 129, 130)
times <- c(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
Run Code Online (Sandbox Code Playgroud)
该模型是
model.drm <- drm(N_obs ~ times, data = data.frame(N_obs = …
Run Code Online (Sandbox Code Playgroud) 我有一个数据集,其中两列的字符串值为“ LastName,FirstName”。我想用“名字姓”代替它们。它们是这样的:
conductorName composerName conduct_count
0 Abbado, Claudio Berg, Alban 2
1 Abbado, Claudio Berlioz, Hector 1
2 Abbado, Claudio Bernstein, Leonard 1
3 Abbado, Claudio Brahms, Johannes 2
4 Abbado, Claudio Bruckner, Anton 1
Run Code Online (Sandbox Code Playgroud)
我试过了:
data = [" ".join(n.split(", ")[::-1]) for n in data["composerName"]]
这很好地给了我composerName的列表,但是现在我失去了pandas数据框(这是错误 ----> 1 data.head()
AttributeError: 'list' object has no attribute 'head'
)
我也尝试过:
for n in data["composerName"]:
" ".join(n.split(", ")[::-1])
但是,这不会更改姓氏和名字的顺序
我希望保留熊猫数据框进行分析。感谢您的协助。谢谢!!
我认为这对许多知道如何处理泡菜的人来说是基础。但是,我尝试了几个小时后仍然无法完全正确。我有以下代码:
在第一个文件中
import pandas as pd
names = ["John", "Mary", "Mary", "Suzanne", "John", "Suzanne"]
scores = [80, 90, 90, 92, 95, 100]
records = pd.DataFrame({"name": names, "score": scores})
means = records.groupby('name').mean()
def name_score_function(record):
if record in names:
return(means.loc[record, 'score'])
import dill as pickle
with open('name_model.pkl', 'wb') as file:
pickle.dump(means, file)
Run Code Online (Sandbox Code Playgroud)
第二个文件
我想加载第一个文件中的内容,并通过函数 name_model(record) 使一个人(即约翰、玛丽、苏珊娜)的分数可调用:
import dill as pickle
B = pickle.load('name_model.pkl')
def name_model(record):
if record in names:
return(means.loc[record, 'score'])
Run Code Online (Sandbox Code Playgroud)
这里显示错误:
File "names.py", line 21, in <module>
B = pickle.load('name_model.pkl')
File …
Run Code Online (Sandbox Code Playgroud) 我坚持这一点。我想name
从以下列表中获得一个清单,该清单groupby().mean()
是pandas DataFrame应用程序的结果。最具体地说,我想得到["John", "Mary", "Suzan", "Eric"]
。
score
name
John 85.0
Mary 86.5
Suzan 90.0
Eric 100.0
Run Code Online (Sandbox Code Playgroud)
以上结果是means
,来自以下内容:
data = pandas.DataFrame({"name": names, "score": scores})
means = data.groupby("name").mean()
Run Code Online (Sandbox Code Playgroud)
就像现在means
一样,我想从中获得名字清单'means' - ["John", "Mary", "Suzan", "Eric"]
。这可以实现吗?
我有以下代码保存为 re.py
import sys
pattern ="Fred"
import re
regexp = re.compile(pattern)
for line in sys.stdin:
result = regexp.search(line)
if result:
sys.stdout.write(line)
Run Code Online (Sandbox Code Playgroud)
当我在终端中执行此文件时 -
$python re.py < names.txt
Run Code Online (Sandbox Code Playgroud)
出现错误
regexp = re.compile(pattern)
AttributeError: 'module' object has no attribute 'compile'
Run Code Online (Sandbox Code Playgroud)
当我将文件名更改为 test.py
$python test.py < names.txt
Run Code Online (Sandbox Code Playgroud)
仍然产生相同的错误
regexp = re.compile(pattern)
AttributeError: 'module' object has no attribute 'compile'
Run Code Online (Sandbox Code Playgroud)
是什么导致了错误以及如何修复它?谢谢!!
我有一个字符串列表.我希望打印出符合条件的列表中的字符串.清单如下:
In [5]: L = ["John and Mary", "Leslie", "Iva and Mark Li"]
Run Code Online (Sandbox Code Playgroud)
我希望打印出L中的每个字符串,其中包含一个字符串and
-
'John and Mary', 'Iva and Mark Li'
Run Code Online (Sandbox Code Playgroud)
我有以下代码:
In [6]: def grep(pattern, line):
if pattern in line:
print line
In [7]: [grep("and", I) for I in L]
Run Code Online (Sandbox Code Playgroud)
这回来了
John and Mary
Iva and Mark Li
Out[7]: [None, None, None]
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法呢?谢谢!!
我有一个字符串,我想与列表中的每个元素配对.
str = "era"
list = ["we", "st"]
Run Code Online (Sandbox Code Playgroud)
随着代码:
zip(str, list)
Run Code Online (Sandbox Code Playgroud)
我知道了
[('e', 'we'), ('r', 'st')]
Run Code Online (Sandbox Code Playgroud)
我想要实现的是对的元组列表:
[('era', 'we'), ('era', 'st')]
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来解决字符串的分裂?谢谢!!
我有一个非常大的矩阵,需要一些计算.因为for循环在R中是出了名的慢,我想用一些更聪明的函数替换它.
这是我用一个小例子矩阵写的for循环.
d <- matrix(c(1,1,0,0,1,1,1,0,0), 3,3)
for (i in 1:nrow(d)) {
for (j in 1:ncol(d)) {
if (d[i,j] == 1) {
d[j, i] =1
} else {d[j,i] = 0}
}
}
Run Code Online (Sandbox Code Playgroud)
该代码很好地替换了愿望的值,产生了对称矩阵,其中d [i,j] = d [j,i].但是,当矩阵很大时,它可能需要大量的时间和内存.什么是一种有效的替代方法来完成它?谢谢!!