小编Mic*_* WS的帖子

将SVG从Highcharts数据转换为数据点

我希望从该网站的mma 数据中抓取数据并解析一些highcharts表。我单击的链接与硒,然后切换到图表。我转到此站点,然后在Artem Lobov行的Pinnacle列中单击+420。这将创建一个弹出图表。然后,我切换到活动元素。我想捕获highcharts绘制的图形以响应点击。

我以以下方式使用硒:

actions = ActionChains(driver)
actions.move_to_element(driver.find_element_by_id(pin_id))
actions.click()
actions.perform()
time.sleep(3)
driver.switch_to_active_element()
Run Code Online (Sandbox Code Playgroud)

我能够单击链接并获得图表,但我对highcharts的工作方式有些迷茫。
我试图解析highcharts系列组在这里 ,并在图表中获取值。

我相信可以通过以下方式找到数据:

soup = bs4.BeautifulSoup(open(driver.page_source), "lxml")
data = soup.find_all('g', {"class":"highcharts-series-group"})[-1].find_all("path")
Run Code Online (Sandbox Code Playgroud)

但是,这提供了以下内容,并且不清楚如何从数据创建图表。如评论中所述,它似乎是svg。

在检查过程中,数据似乎在其中 <g class="highcharts-series"<g class="highcharts-series-tracker但不清楚,高图表从该数据中绘制出图形。

高图如何显示已保存数据中的图形?有没有一种干净的方法可以从显示的highcharts-series-group中获取数据?

python selenium svg highcharts

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

从整数创建 tz 感知的 pandas 时间戳对象

我有一个整数,它是 UNIX 纪元之后的微秒数。(格林威治标准时间)

\n\n

如何使用 astype 将 1349863207154117 转换为 pandas.Timestamp("2012-10-10T06:00:07.154117", tz=\xc2\xa8UTC\xc2\xa8) ?astype 的文档不是很详尽。我已经尝试过以下方法。

\n\n
x = 1349863207154117\ndt64 = np.int64(x).astype("M8[us]")\nprint dt64\n
Run Code Online (Sandbox Code Playgroud)\n\n

返回:

\n\n
np.datetime64("2012-10-10T06:00:07.154117-0400")\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  1. 如果我只想要几秒钟,这有效:
  2. \n
\n\n
x = 1349863207154117\ndt64 = np.int64(x).astype("M8[us]")\nprint dt64\n
Run Code Online (Sandbox Code Playgroud)\n

numpy pandas datetime64

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

使用 cython 生成 unix 时间戳

如果您在内存中拥有每个整数来构造 datetime 对象,是否有比以下更好的方法。

atoi(datetime(year,month,day,hour,minute,second).stftime("%s"))
Run Code Online (Sandbox Code Playgroud)

python cython unix-timestamp python-datetime

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

更改主机名以进行持续集成测试

我有一些功能仅在特定的物理位置运行,并且通过主机名来识别。这是在调用 socket.gethostname() 的 cython 模块中生成的。

无论如何,使用 socket.gethostname() 进行测试是否有与运行测试的主机不同的数据?

python nose

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

极坐标相当于 groupby.last

假设我有一个极坐标数据框:

    import polars as pl 
    df = pl.DataFrame({'index': [1,2,3,2,1],
                       'object': [1, 1, 1, 2, 2], 
                      'period': [1, 2, 4, 4, 23],
                      'value': [24, 67, 89, 5, 23],
                      })
Run Code Online (Sandbox Code Playgroud)

我如何获得索引的字典 -> 最后一个值 df.col('value').last().over(['index']).alias("last")是最后一个值,但这需要大量额外的计算和更多的工作才能获取键值对。

python python-polars

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