小编Iai*_*ham的帖子

d3中的可重用图表:创建和更新选择如何工作?

一些可重用的图表示例(例如直方图)包括以下内容:

// 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()?(我假设这个数组的目的只是返回输入选择.)

在此先感谢您的帮助.

d3.js

6
推荐指数
1
解决办法
2040
查看次数

使用SQLAlchemy解压缩PostGIS/PostgreSQL记录

如何使用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是带有filenamerast(栅格)列的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似乎是一个元组.

在此先感谢您的帮助.

postgresql postgis sqlalchemy

5
推荐指数
1
解决办法
147
查看次数

如何从长格式数据框计算成对计数表

我有一个带有列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)

不幸的是,我不知道如何执行这个计算,我在搜索建议时画了一个空白(大多数情况下,我怀疑,因为我不知道正确的术语).

r dataframe

3
推荐指数
1
解决办法
1417
查看次数

如何放大鼠标光标下的点(处理)

我想放大处理草图中鼠标光标下的点.问题的规模部分非常简单; 这是我无法弄清楚的翻译部分.我们的想法是能够放大到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)

processing

2
推荐指数
1
解决办法
3855
查看次数

如何按列的值计数对pandas数据框进行排序?

我想根据结果对以下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']为有序的分类数据.然而,这些方法似乎都不是特别优雅.

在此先感谢您的帮助!

python pandas

2
推荐指数
1
解决办法
1343
查看次数

标签 统计

d3.js ×1

dataframe ×1

pandas ×1

postgis ×1

postgresql ×1

processing ×1

python ×1

r ×1

sqlalchemy ×1