小编ang*_*s l的帖子

我可以更有效地拆分包含元组/无的混合列吗?

我有一个简单的DataFrame:

import pandas as pd
df = pd.DataFrame({'id':list('abcd')})
df['tuples'] = df.index.map(lambda i:(i,i+1))

# outputs:
#   id  tuples
# 0  a  (0, 1)
# 1  b  (1, 2)
# 2  c  (2, 3)
# 3  d  (3, 4)
Run Code Online (Sandbox Code Playgroud)

然后,我可以非常简单地将元组列分为两部分,例如

df[['x','y']] = pd.DataFrame(df.tuples.tolist())

# outputs:
#   id  tuples  x  y
# 0  a  (0, 1)  0  1
# 1  b  (1, 2)  1  2
# 2  c  (2, 3)  2  3
# 3  d  (3, 4)  3  4
Run Code Online (Sandbox Code Playgroud)

这种方法也适用:

df[['x','y']] = df.apply(lambda …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

7
推荐指数
1
解决办法
177
查看次数

D3 如何从一组中选择具有共享属性的多个形状?

D3 如何选择具有共享属性的组中的多个形状?

我正在 D3 中构建一个图表,其中每个数据点都由多个形状表示。我有一个简单的数据集,并创建了一个组,其中绑定了三组独立的形状。

我希望当鼠标悬停和鼠标移开时,行上的形状改变颜色。有两个函数——“over”和“out”——我在鼠标悬停时调用它们。他们成功地更改了对象的样式属性,但依次更改了每组形状。

下面的代码和这个小提琴说明了这个问题。

这种方法不能跨形状扩展,感觉我错过了关于 D3 选择的一个关键点。我可以一步选择具有共享索引(或其他属性)的所有对象吗?

我尝试过各种方法:

  • 选择(“形状”)。过滤器(...)
  • 选择(“形状”)[0][i]

但还没有成功地让这些发挥作用。

var dataset = ["A", "B", "C"];

// Create SVG object
var svg = d3.select("body")
    .append("svg")
    .attr({width: 600, height: 400});

var shapes = svg.append("g");

// Circles
var circles = shapes.selectAll("circle")
    .data(dataset)
    .enter()
    .append("circle")
    .attr("id",function(d, i) {return i;})
    .attr("cx",125)
    .attr("cy",function(d, i) {return (i+1)*100-25;})
    .attr("r",25)
    .on("mouseover", over)
    .on("mouseout", out)
    .append("title").text(function(d, i) {return d + " " + i;});

// Ellipses
var ellipses = shapes.selectAll("ellipse")
    .data(dataset)
    .enter()
    .append("ellipse") …
Run Code Online (Sandbox Code Playgroud)

d3.js

4
推荐指数
1
解决办法
3960
查看次数

标签 统计

d3.js ×1

dataframe ×1

pandas ×1

python ×1