// select the svg element, if it exists
var svg = d3.select(this).selectAll("svg").data([data]);
// append the svg element, if it doesn't exist
svg.enter().append("svg") ...
Run Code Online (Sandbox Code Playgroud)
... this当前DOM元素在哪里,是data绑定到它的数据.据我了解,这个习惯用法允许在第一次调用图表函数时创建图表,但如果您愿意,可以在后续调用之后"重新创建".但是,任何人都可以详细解释这个成语吗?例如:
.selectAll("svg")使用而不是.select("svg")?.empty()不习惯检查空选?.data()?(我假设这个数组的目的只是返回输入选择.)在此先感谢您的帮助.
如何使用SQLAlchemy的ORM编写以下查询?
SELECT filename, (stats).*
FROM (
SELECT filename, ST_SummaryStats(rast, 1, TRUE) AS stats FROM tiles
) AS stats_table;
Run Code Online (Sandbox Code Playgroud)
这ST_SummaryStats是一个PostGIS函数,它返回我想要解压缩的记录.tiles是带有filename和rast(栅格)列的PostGIS表.我的尝试如下:
sub_q = db_session.query(
Tiles.filename,
func.ST_SummaryStats(Tiles.rast, 1, True).label('stats'),
).subquery()
q = db_session.query(
sub_q.columns.filename,
sub_q.columns.stats,
)
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何(stats).*使用SQLAlchemy的ORM 编写表达式 - 因此解压缩记录.因此,stats似乎是一个元组.
在此先感谢您的帮助.
我有一个带有列id(主键)和featureCode(分类变量)的"长格式"数据框.每个记录具有1到9个分类变量的值.例如:
id featureCode
5 PPLC
5 PCLI
6 PPLC
6 PCLI
7 PPL
7 PPLC
7 PCLI
8 PPLC
9 PPLC
10 PPLC
Run Code Online (Sandbox Code Playgroud)
我想计算每个特征代码与其他特征代码一起使用的次数(标题的"成对计数").在此阶段,使用每个要素代码的顺序并不重要.我设想结果将是另一个数据框,其中行和列是特征代码,单元格是计数.例如:
PPLC PCLI PPL
PPLC 0 3 1
PCLI 3 0 1
PPL 1 1 0
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何执行这个计算,我在搜索建议时画了一个空白(大多数情况下,我怀疑,因为我不知道正确的术语).
我想放大处理草图中鼠标光标下的点.问题的规模部分非常简单; 这是我无法弄清楚的翻译部分.我们的想法是能够放大到Processing草图,同时保持草图中对象之间的相对距离.
任何帮助将不胜感激.放大但不保持相对距离的基本草图如下:
float scaleFactor;
void setup()
{
size(300, 300);
scaleFactor = 1;
}
void draw()
{
background(255);
fill(128);
noStroke();
pushMatrix();
scale(scaleFactor);
rect(0, 0, 100, 100);
popMatrix();
}
void keyPressed()
{
if (key == 'r')
{
scaleFactor = 1;
}
}
void mouseWheel(MouseEvent e)
{
scaleFactor += e.getAmount() / 100;
}
Run Code Online (Sandbox Code Playgroud) 我想根据结果对以下pandas数据框进行排序 df['user_id'].value_counts().
import pandas as pd
n = 100
df = pd.DataFrame(index=pd.Index(range(1, n+1), name='gridimage_id'))
df['user_id'] = 2
df['has_term'] = True
df.iloc[:10, 0] = 1
Run Code Online (Sandbox Code Playgroud)
排序应该是稳定的,这意味着虽然用户2的行将在用户1的行之前出现,但用户2的行和用户1的行将按原始顺序排列.
我正在考虑使用df.groupby,df['user_id'].value_counts()与数据框合并,以及转换df['user_id']为有序的分类数据.然而,这些方法似乎都不是特别优雅.
在此先感谢您的帮助!
d3.js ×1
dataframe ×1
pandas ×1
postgis ×1
postgresql ×1
processing ×1
python ×1
r ×1
sqlalchemy ×1