X-lab2017 / open-wonderland

X-lab 开放实验室的开源奇妙世界
60 stars 11 forks source link

DE-GitHub-7 商业开源大屏(吴双) #249

Closed will-ww closed 1 year ago

will-ww commented 1 year ago
yoyo-wu98 commented 1 year ago

好的,我仔细看了一下,并根据之前的会议的内容归类了以下几个需要明确的点:

  1. 我们有大量的数据,我也找到了一些免费的数据api,但是我仍然觉得有必要确认一下我们是否可以使用一些付费数据源?可以的话,有没有什么限制?
  2. 大屏的设计稿需要以什么样的形式提交,实现逻辑比较清晰的文档还是更注重排版和动画需求的设计图案?
  3. 之前看志成的演示,具体操作似乎有点像tableau,也会有一些类似tableau那样的内容限制,所以我们是否需要注意数据的大小边界问题,控制我们呈现的表格所需要的数据量?
yoyo-wu98 commented 1 year ago
  • Global VC Funding In COSS:链接

这里的核心数据源似乎是 这个url ,其中的数据似乎是人工标注的,是一个很好的数据源,但实时性可能没有那么好,或者想问一下我们是否可以用在他们announce自己市值的那一年的 openrank 数据而不是当前的 openrank 数据来同步时间戳,以解决实时性这一问题?

will-ww commented 1 year ago

几个参考资料,有指标可以参考:

yoyo-wu98 commented 1 year ago
  • 首份OSS开源软件VC投资报告:链接

  • Global VC Funding In COSS:链接

均为同一个数据源,这个数据源似乎并不能下载和导出。

will-ww commented 1 year ago
  • 首份OSS开源软件VC投资报告:链接

  • Global VC Funding In COSS:链接

均为同一个数据源,这个数据源似乎并不能下载和导出。

嗯,貌似是个只读的~

yoyo-wu98 commented 1 year ago

刚刚花了几个小时,找到了这个方法:

  1. 一张一张的截了图;
  2. 将他们拼接起来;
  3. 用OCR 转换软件,将它们转换为excel 文件;
  4. 调整后得到了基本完全一样的文件。

现已转换并导入其中。

这种方法会有如下的问题:非常费时,同时没有办法及时更新。

yoyo-wu98 commented 1 year ago

公共链接 所示,我完成了一个实验性的商业开源大屏demo。

yoyo-wu98 commented 1 year ago

展示的图片如下图所示:

image
yoyo-wu98 commented 1 year ago

示例包含:

will-ww commented 1 year ago

Cool~

yoyo-wu98 commented 1 year ago

现在看来仍然存在以下几个问题:

  1. 这里的数据是需要非常复杂的手段更新的,可能需要:
    1. 设计一个自动化程序;
    2. 一周一次的手动更新;
    3. 向该文档的maintainer申请权限。
  2. 这些数据中的主体项目(即表格中的FOSS CORE一列)可能在github上没有对应的仓库,所以不一定可以知道相应的openrank数据;
  3. 这些投资数据的时间只是从2020年开始的,之前的投资数据缺失,导致大量的公司只有B轮、C轮却没有Seed轮、Pre-Seed轮融资的数据。
yoyo-wu98 commented 1 year ago

根据“宣传openrank”这一需求我们还是需要之后要在该大屏中加入openrank数据,并尽可能的保证所展示的数据可以显示出一个项目的“openrank”分数和以它为核心的COSS startup的融资规模有一定正相关性。

will-ww commented 1 year ago

根据“宣传openrank”这一需求我们还是需要之后要在该大屏中加入openrank数据,并尽可能的保证所展示的数据可以显示出一个项目的“openrank”分数和以它为核心的COSS startup的融资规模有一定正相关性。

对的,我们一起来想想~

yoyo-wu98 commented 1 year ago

OCR直接转成的原始数据会如下所示:

image

无法直接使用,所需要的数据清洗和整理代码如下:

import pandas as pd
import calendar
df = pd.read_excel('path/to/file.xlsx')
def month_from_string_to_int(month_string):
    month_num = list(calendar.month_name).index(month_string)
    if month_num < 10:
        return '0' + str(month_num)
    return str(month_num)
df['Year Announced'] = df['Year Announced'].apply(lambda x : str(x))
df['Month Announced'] = df['Month Announced'].apply(lambda x: month_from_string_to_int(x))
df['Round Size(M)'] = df['Round Size(M)'].apply(lambda x: x[1:] if type(x) != float else x)
df['Time Announced'] = df['Year Announced'] + '-' + df['Month Announced'] + '-01'
df.to_excel('path/to/file_new.xlsx', index=False)

最终效果应如下图所示:

image