问题:将sklearn的CountVectorizer和TfidfTransformer导致的稀疏矩阵转换为Pandas DataFrame列的最佳方法是什么,每个bigram及其相应的频率和tf-idf得分都有一个单独的行?
管道:从SQL DB中提取文本数据,将文本拆分为双字节并计算每个文档的频率和每个文档的每个文件的tf-idf,将结果加载回SQL DB.
当前状态:
引入两列数据(number,text).text清洁后产生第三列cleanText:
number text cleanText
0 123 The farmer plants grain farmer plants grain
1 234 The farmer and his son go fishing farmer son go fishing
2 345 The fisher catches tuna fisher catches tuna
Run Code Online (Sandbox Code Playgroud)
这个DataFrame被输入到sklearn的特征提取中:
cv = CountVectorizer(token_pattern=r"(?u)\b\w+\b", stop_words=None, ngram_range=(2,2), analyzer='word')
dt_mat = cv.fit_transform(data.cleanText)
tfidf_transformer = TfidfTransformer()
tfidf_mat = tfidf_transformer.fit_transform(dt_mat)
Run Code Online (Sandbox Code Playgroud)
然后在将矩阵转换为数组后将矩阵反馈到原始DataFrame中:
data['frequency'] = list(dt_mat.toarray())
data['tfidf_score']=list(tfidf_mat.toarray())
Run Code Online (Sandbox Code Playgroud)
输出:
number text cleanText \
0 123 The …Run Code Online (Sandbox Code Playgroud) 我已经详尽地审查/尝试了与这一挑战相对应的所有其他问题的实现,但尚未找到解决方案。
问题:如何将员工和主管对转换为分层 JSON 结构以用于 D3 可视化?级别数量未知,因此它必须是动态的。
我有一个包含五列的数据框(是的,我意识到这不是 Office 的实际层次结构):
Employee_FN Employee_LN Supervisor_FN Supervisor_LN Level
0 Michael Scott None None 0
1 Jim Halpert Michael Scott 1
2 Dwight Schrute Michael Scott 1
3 Stanley Hudson Jim Halpert 2
4 Pam Beasley Jim Halpert 2
5 Ryan Howard Pam Beasley 3
6 Kelly Kapoor Ryan Howard 4
7 Meredith Palmer Ryan Howard 4
Run Code Online (Sandbox Code Playgroud)
所需的输出快照:
{
"Employee_FN": "Michael",
"Employee_LN": "Scott",
"Level": "0",
"Reports": [{
"Employee_FN": "Jim",
"Employee_LN": "Halpert",
"Level": "1",
"Reports": …Run Code Online (Sandbox Code Playgroud) 更新:
我加了这个:
$("#id_project").select2({dropdownParent: $(".modal-body")});
Run Code Online (Sandbox Code Playgroud)
...这会导致下拉列表被正确放置,并且可以输入搜索。不幸的是……这会导致传送的数据被清除,并且没有可供选择的选项。
我有一个在 Bootstrap 模式中填充的表单,如下所示:
<div class="modal fade show" id="modal-task" style="display: block;">
<div class="modal-dialog">
<div class="modal-content">
<form method="post" action="/dataanalytics/sparc/tasks/create/" class="js-task-create-form">
<input type="hidden" name="csrfmiddlewaretoken" value="W6cnRq9zPDvUdQOpqceXPVulbWJAMFazRStzwnZhLi8UEqa87SYiRKmMoHAKwmvb">
<div class="modal-body">
<div class="form-group">
<select name="project" data-minimum-input-length="2" class="form-control select2-hidden-accessible" required="" id="id_project" data-autocomplete-light-url="/dataanalytics/projectautocomplete/" data-autocomplete-light-function="select2" tabindex="-1" aria-hidden="true">
<option value="" selected="">---------</option>
</select>
<span class="select2 select2-container select2-container--bootstrap select2-container--focus" dir="ltr" style="width: 505.091px;">
<span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-id_project-container">
<span class="select2-selection__rendered" id="select2-id_project-container">
<span class="select2-selection__placeholder">
</span>
</span>
<span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true">
</span>
</span>
</div>
<div …Run Code Online (Sandbox Code Playgroud) javascript jquery twitter-bootstrap jquery-select2 bootstrap-modal
我有一个由两列组成的数据框:ID 和 TEXT。假设数据如下:
ID TEXT
265 The farmer plants grain. The fisher catches tuna.
456 The sky is blue.
434 The sun is bright.
921 I own a phone. I own a book.
Run Code Online (Sandbox Code Playgroud)
我知道所有 nltk 函数都不适用于数据帧。sent_tokenize 如何应用于上述数据帧?
当我尝试:
df.TEXT.apply(nltk.sent_tokenize)
Run Code Online (Sandbox Code Playgroud)
输出与原始数据帧没有变化。我想要的输出是:
TEXT
The farmer plants grain.
The fisher catches tuna.
The sky is blue.
The sun is bright.
I own a phone.
I own a book.
Run Code Online (Sandbox Code Playgroud)
此外,我想将这个新的(所需的)数据框与这样的原始ID数字联系起来(在进一步的文本清理之后):
ID TEXT
265 'farmer', 'plants', 'grain'
265 'fisher', 'catches', 'tuna'
456 'sky', …Run Code Online (Sandbox Code Playgroud) 请同时在代码末尾查看我的编辑内容。
我正在尝试为单个字段实现django-autocomplete-light(dal 3.2.10)。在学习本教程之后,我出现了这个错误:'list'对象没有属性'queryset'。
我已经看到了这个问题:django-autocomplete-light error ='list'对象没有属性'queryset'。它没有解决我的问题。
为什么会发生此错误?我该如何应对呢?
我不认为这是整个问题,但是我没有看到任何js文件出现在浏览器检查器中。我以为在Edit#3中包含代码会导致某些事情出现。
我有两个模型:
class Entity(models.Model):
entity = models.CharField(primary_key=True, max_length=12)
entityDescription = models.CharField(max_length=200)
def __str__(self):
return self.entityDescription
class Action(models.Model):
entity = models.ForeignKey(Entity, on_delete=models.CASCADE, db_column='entity')
entityDescription = models.CharField(max_length=200)
action = models.CharField(max_length=50)
def __str__(self):
return '%s' % self.entity
Run Code Online (Sandbox Code Playgroud)
我有一个模型表单和表单集。我还使用crispy-forms来呈现表单集:
class ActionForm(ModelForm):
class Meta:
model = Action
fields = '__all__'
widgets = {
'entityDescription': autocomplete.ModelSelect2(url='eda')
}
ActionFormSet = modelformset_factory(Action, extra=1, exclude=(), form=ActionForm)
Run Code Online (Sandbox Code Playgroud)
我有一个观点:
class EntityDescriptionAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Entity.objects.all()
if self.q:
qs = qs.filter(entityDescription__istartswith=self.q)
return …Run Code Online (Sandbox Code Playgroud) python django autocomplete python-3.x django-autocomplete-light
更新:
pandas df是这样创建的:
df = pd.read_sql(query, engine)
encoded = pd.get_dummies(df, columns=['account'])
Run Code Online (Sandbox Code Playgroud)
从此df创建一个dask df如下所示:
df = dd.from_pandas(encoded, 50)
Run Code Online (Sandbox Code Playgroud)
轻而易举地执行操作不会导致可见的进度(使用轻便的诊断程序进行检查):
result = df.groupby('journal_entry').max().reset_index().compute()
Run Code Online (Sandbox Code Playgroud)
原版的:
我有一个具有270万行和4,000列的大熊猫df。除四列外,所有列均为dtype uint8。uint8列仅保留值1或0。我试图在df上执行此操作:
result = df.groupby('id').max().reset_index()
Run Code Online (Sandbox Code Playgroud)
可以预期,此操作将立即返回内存错误。我最初的想法是在水平和垂直方向上对df进行分块。但是,这会造成混乱,因为.max()需要跨所有uint8列(而不仅仅是一对列)执行该操作。此外,像这样对df进行分块仍然非常慢。我的机器上有32 GB的RAM。
哪种策略可以减轻内存问题?
我有一个 CSV 数据流/对象,名为jobresults:
"number","person1","person2","type"
1234,"Michael Scott","Pam Beasley",false
2345,"Michael Scott","Jim Halpert",true
3456,"Jim Halpert","Dwight Schrute",false
Run Code Online (Sandbox Code Playgroud)
如何将此对象(它不会写入文件)转换为 Pandas DataFrame?
我试过:
df = pd.read_csv(jobresults)
Run Code Online (Sandbox Code Playgroud)
...没有用。我相信read_csv需要从操作系统中提取一个实际文件。
任何见解将不胜感激!
我有一个模型:
class Alert(models.Model):
entity = models.ForeignKey(Entity, on_delete=models.CASCADE, db_column='entity')
user = models.CharField(max_length=12)
#...More Fields
def __str__(self):
return '%s' % self.entity
Run Code Online (Sandbox Code Playgroud)
我有一个由 Crispy-Forms 渲染的相应模型表单和模型表单集:
class AlertForm(ModelForm):
class Meta:
model = Alert
fields = '__all__'
widgets = {
'user': HiddenInput(),
'entity': ModelSelect2(url='eda', attrs={'data-minimum-input-length': 2}),
AlertFormSet = modelformset_factory(Alert, extra=1, exclude=(), form=AlertForm)
Run Code Online (Sandbox Code Playgroud)
我有一个建立在表单集之上的视图:
def alerts(request):
helper = AlertFormsetHelper()
if request.method == 'POST':
formset = AlertFormSet(request.POST)
for form in formset:
if form.is_valid():
if form.has_changed():
if form.is_valid():
form.save()
entity = form.cleaned_data['entity']
messages.success(request, 'SUCCESS: Alert for %s was …Run Code Online (Sandbox Code Playgroud) 我在服务器上安装了 Anaconda。我在 NAS 上有一个 conda 环境。conda 环境对于 Anaconda 安装不可见,因为它是通过不同服务器上的不同安装创建的。
是否可以从我的 Anaconda 安装中“创建”一个 conda 环境,该环境实际上会绕过创建而仅指向 NAS 上的现有环境?这类似于--fake在迁移模型时使用 Django 中的方法连接到现有表。
我有一个极地数据框:
df = pl.DataFrame({'schema_name': ['test_schema', 'test_schema_2'],
'table_name': ['test_table', 'test_table_2'],
'column_name': ['test_column, test_column_2','test_column']})
Run Code Online (Sandbox Code Playgroud)
| 架构名称 | 表名 | 列名 |
|---|---|---|
| 测试模式 | 测试表 | 测试列、测试列2 |
| 测试模式_2 | 测试表_2 | 测试列 |
我有一个字符串:
date_field_value_max_query = '''
select '{0}' as schema_name,
'{1}' as table_name,
greatest({2})
from {0}.{1}
group by 1, 2
'''
Run Code Online (Sandbox Code Playgroud)
我想使用极坐标通过字符串格式添加列。目标数据框是这样的:
| 架构名称 | 表名 | 列名 | 询问 |
|---|---|---|---|
| 测试模式 | 测试表 | 测试列、测试列2 | 从 test_schema.test_table 组中选择 test_schema、test_table、maximum(test_column、test_column_2) by 1, 2 |
| 测试模式_2 | 测试表_2 | 测试列 | 从 test_schema_2.test_table_2 分组中选择 test_schema_2、test_table_2、maximum(test_column) by 1, 2 |
在 pandas 中,我会做这样的事情:
df.apply(lambda row: date_field_value_max_query.format(row['schema_name'], row['table_name'], row['column_name']), axis=1)
Run Code Online (Sandbox Code Playgroud)
对于极地,我尝试了以下方法:
df.with_column(
(date_field_value_max_query.format(pl.col('schema_name'), pl.col('table_name'), pl.col('column_name')))
) …Run Code Online (Sandbox Code Playgroud) 我有一个警报:
<div class="alert alert-success fade show" id='success-alert' role="alert">
{{ message }}
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个按钮:
<input name="submit" value="Submit" class="btn btn-primary" id="submit-id-submit" type="submit" method="post">
Run Code Online (Sandbox Code Playgroud)
单击该按钮时,将出现警报。我希望警报能够使用 jQuery 缓慢向上滑动.slideUp()。这是我的尝试:
<script>
$(document).ready (function(){
$("#success-alert").hide();
$("#submit-id-submit").click(function showAlert() {
$("#success-alert").fadeTo(2000, 2000).slideUp(500, function(){
$("#success-alert").slideUp(500);
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这会导致警报出现,然后突然快速消失(不到两秒)。我相信该警报以某种方式被调用了两次,因为当我将500(所有三个)更改为2000时,警报会显示,它会正确向上滑动,然后出现一个新警报并突然消失。
我应该如何实现缓慢向上滑动一次?
I have a df:
id Type1 Type2 Type3
0 10000 0.0 0.00 0.00
1 10001 0.0 63.72 0.00
2 10002 473.6 174.00 31.60
3 10003 0.0 996.00 160.92
4 10004 0.0 524.91 0.00
Run Code Online (Sandbox Code Playgroud)
I apply k-means to this df and add the resulting cluster to the df:
kmeans = cluster.KMeans(n_clusters=5, random_state=0).fit(df.drop('id', axis=1))
df['cluster'] = kmeans.labels_
Run Code Online (Sandbox Code Playgroud)
Now I'm attempting to add columns to the df for the Euclidean distance between each point (i.e. row in the df) and each centroid:
def …Run Code Online (Sandbox Code Playgroud) python ×10
pandas ×6
dataframe ×5
python-3.x ×3
django ×2
javascript ×2
jquery ×2
scikit-learn ×2
anaconda ×1
autocomplete ×1
bootstrap-4 ×1
conda ×1
csv ×1
dask ×1
django-views ×1
json ×1
k-means ×1
memory ×1
nltk ×1
python-2.7 ×1
slideup ×1