首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 Pandas 做 ETL,不要太快

一旦你有了密钥,需要确保你没有把它直接放入你的源代码中,因此你需要创建 ETL 脚本的同一目录中创建一个名为 config.py 的文件,将此放入文件: #config.py api_key = 创建一个名为 tmdb.py 的文件,并导入必要的依赖: import pandas as pd import requests import config 向 API 发送单个 GET 请求的方法...我们创建一个循环,一次请求每部电影一部,并将响应附加到列表中: response_list = [] API_KEY = config.api_key for movie_id in range(550,556...response_list 这样复杂冗长的 JSON 数据,这里使用 from_dict() 从记录中创建 Pandas 的 DataFrame 对象: df = pd.DataFrame.from_dict...,使用了 explode、crosstab 函数来扩展多个列,其效果就是如果电影属于某个类型,该行的值就为 1,结果就是这样: 关于日期时间,我们希望将日期扩展为年、月、日、周,像这样: 那么以下代码就是干这个的

3.3K10

20个超级实用的 Python 自动化办公技巧

本文就给大家介绍几个我用到的办公室自动化技巧: 1、Word文档doc转docx 去年想参赛一个数据比赛, 里面的数据都是doc格式, 想用python-docx 读取word文件中的数据, 但是python-docx...files列表中重新读取 pass print('转换文件%i个'%i) # 退出word word.Quit() 2、文字地址批量转经纬度 工作中地址转经纬度会用在做地图可视化或者计算距离方面.../geocoding/v3/' output = 'json' ak = "自己申请的api" # 百度地图API, 需要自己申请 address = quote(address...# 定义一个空的dataframe data = pd.DataFrame() # 遍历所有文件 for file in files: datai = pd.read_excel(file...) datai_len = len(datai) data = data.append(datai) # 添加到总的数据中 print('读取%i行数据,合并后文件%i列,

6.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于Spark的机器学习实践 (二) - 初识MLlib

    公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 从Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...Spark的主要机器学习API现在是spark.ml包中基于DataFrame的API 有什么影响?...2.3中的亮点 下面的列表重点介绍了Spark 2.3版本中添加到MLlib的一些新功能和增强功能: 添加了内置支持将图像读入DataFrame(SPARK-21866)。...SPARK-14657:修复了RFormula在没有截距的情况下生成的特征与R中的输出不一致的问题。这可能会改变此场景中模型训练的结果。...我们假设RowMatrix的列数不是很大,因此单个本地向量可以合理地传递给驱动程序,也可以使用单个节点进行存储/操作。

    2.8K20

    基于Spark的机器学习实践 (二) - 初识MLlib

    公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 从Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...Spark的主要机器学习API现在是spark.ml包中基于DataFrame的API 有什么影响?...2.3中的亮点 下面的列表重点介绍了Spark 2.3版本中添加到MLlib的一些新功能和增强功能: 添加了内置支持将图像读入DataFrame(SPARK-21866)。...SPARK-14657:修复了RFormula在没有截距的情况下生成的特征与R中的输出不一致的问题。这可能会改变此场景中模型训练的结果。...我们假设RowMatrix的列数不是很大,因此单个本地向量可以合理地传递给驱动程序,也可以使用单个节点进行存储/操作。

    3.5K40

    Pandas知识点-添加操作append

    在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中。append()方法也可以用于合并操作,本文介绍append()方法的用法。...append(other): 将一个或多个DataFrame添加到调用append()的DataFrame中,实现合并的功能,other参数传入被合并的DataFrame,如果需要添加多个DataFrame...三添加多个DataFrame ---- ? 添加多个DataFrame时,用列表或元组的方式传入多个DataFrame即可,添加的原理不变。...指定Series的name参数,这样Series将以name参数作为行索引添加到DataFrame中。...append(): 添加操作,可以将多个DataFrame添加到一个DataFrame中,按行的方式进行添加。添加操作只是将多个DataFrame按行拼接到一起,可以重设行索引。

    4.9K30

    Zipline 3.0 中文文档(二)

    你可以在本文档的编写新包部分了解如何创建自己的数据包,或者使用csvdir 包中的代码从 CSV 文件创建包。 什么是交易日历? 交易日历代表单个市场交易所的时间信息。...要添加一个部分,创建一个名为some-descriptive-name.rst的新文件,并将some-descriptive-name添加到appendix.rst中。...计算term的结果将作为一列显示在运行此管道生成的 DataFrame 中。 参数: 列(zipline.pipeline.Term) – 要添加到管道中的过滤器、因子或分类器。...如果请求单个资产和多个字段,返回的值是一个具有形状(bar_count, len(fields))的pd.DataFrame。...如果请求多个资产和单个字段,返回的值是一个具有形状(bar_count, len(assets))的pd.DataFrame。

    23810

    python使用MongoDB,Seaborn和Matplotlib文本分析和可视化API数据

    使用API  我们需要向包含我们的API密钥的基本URL发出请求。GameSpot的API拥有自己的多个资源,我们可以从中提取数据。...然后,我们将遍历100个不同的结果,并使用insert_one()PyMongo中的命令将每个结果插入到我们的集合中。也可以将它们全部放入列表中并使用insert_many()。...为此,我们将创建一个空列表来存储我们的条目,并.find()在“评论”集合上使用该命令。 使用findPyMongo中的函数时,检索也需要格式化为JSON。赋予find函数的参数将具有一个字段和值。...我们还将使用NTLK中的一些停用词(非常常见的词,对我们的文本几乎没有任何意义),并通过创建一个列表来保留所有单词,然后仅在不包含这些单词的情况下才将其从列表中删除,从而将其从文本中删除我们的停用词列表...我们可以将最普通的单词分解成一个单词列表,然后将它们与单词的总数一起添加到单词词典中,每次看到相同的单词时,该列表就会递增。

    2.3K00

    Python 算法交易秘籍(一)

    在步骤 2中,您创建一个持有5 天时间差值的timedelta对象,并将其赋值给td1。您调用构造函数来创建具有单个属性days的对象。您在此处传递值为5。...在步骤 5中,通过向构造函数传递columns参数以特定顺序的列来创建一个DataFrame,该参数是一个字符串列表。...你通过传递columns参数以字符串列表的形式传递所需的顺序的列名。 反转:在步骤 3 中,你通过以一种特殊的方式使用索引运算符[::-1]从df创建一个新的DataFrame,其中的行被反转。...在 第二步 中,你将你的 API 密钥和 API 秘密分配给新的 api_key 和 api_secret 变量,并使用它们创建 broker_connection,BrokerConnectionZerodha...在交易所中常见的各种分段类型包括现金/股票、期货、期权、大宗商品和货币。每个分段可能有不同的运营时间。通常,经纪人支持多个交易所内的多个分段。本示例演示了如何查找经纪人支持的分段列表。

    79650

    手把手 | 如何用Python做自动化特征工程

    特征工程需要从数据中提取相关信息并将其放入单个表中,然后可以使用该表来训练机器学习模型。 构建特征的过程非常地耗时,因为每个特征的构建通常需要一些步骤来实现,尤其是使用多个表中的信息时。...转换作用于单个表(从Python角度来看,表只是一个Pandas 数据框),它通过一个或多个现有的列创建新特征。 例如,如果我们有如下客户表。...下面是featuretools中一些特征基元的列表(我们也可以定义自定义基元) 这些原语可以单独使用,也可以组合使用来创建特征量。...例如,MEAN(payments.payment_amount)列是深度为1的深层特征,因为它是使用单个聚合创建的。...聚合就是将深度特征合成依次将特征基元堆叠 ,利用了跨表之间的一对多关系,而转换是应用于单个表中的一个或多个列的函数,从多个表构建新特征。

    4.3K10

    Python之数据规整化:清理、转换、合并、重塑

    合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。 pandas.concat可以沿着一条轴将多个对象堆叠到一起。...pd.merge(df1,df2,on='key') 2.2 默认情况下,merge做的是"inner"连接,结果中的键是交集。其他方式有“left”、“right”、“outer”。...外连接求取的是键的并集,组合了左连接和右连接。 2.3 都对的的连接是行的笛卡尔积。 2.4 merge的suffixes选项,用于指定附加到左右两个DataFrame对象的重叠列名上的字符串。...6.2 正则表达式 描述一个或多个空白符的regex是\s+ 创建可重用的regex对象: regex = re.complie('\s+') regex.split(text) 6.3 pandas中矢量化的字符串函数...实现矢量化的元素获取操作:要么使用str.get,要么使用str属性上使用索引。

    3.1K60

    一文介绍Pandas中的9种数据访问方式

    以下面经典的titanic数据集为例,可以从两个方面特性来认识DataFrame: ? DataFrame是一个行列均由多个Series组成的二维数据表框,其中Series可看做是一个一维向量。...通常情况下,[]常用于在DataFrame中获取单列、多列或多行信息。具体而言: 当在[]中提供单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....3. at/iat,其实是可看分别做为loc和iloc的一种特殊形式,只不过不支持切片访问,仅可用于单值提取,即指定单个标签值或单个索引值进行访问,一般返回标量结果,除非标签值存在重复。...4. isin,条件范围查询,一般是对某一列判断其取值是否在某个可迭代的集合中。即根据特定列值是否存在于指定列表返回相应的结果。 5. where,妥妥的Pandas仿照SQL中实现的算子命名。...8. get。由于DataFrame可看做是嵌套dict结构,所以也提供了类似字典中的get()方法,主要适用于不确定数据结构中是否包含该标签时,与字典的get方法非常类似: ? 9. lookup。

    3.8K30

    cuDF,能取代 Pandas 吗?

    结果排序: 默认情况下,cuDF中的join(或merge)和groupby操作不保证输出排序。...在比较浮点结果时,建议使用cudf.testing模块提供的函数,允许您根据所需的精度比较值。 列名: 与Pandas不同,cuDF不支持重复的列名。最好使用唯一的字符串作为列名。...何时使用cuDF和Dask-cuDF cuDF: 当您的工作流在单个GPU上足够快,或者您的数据在单个GPU的内存中轻松容纳时,您会希望使用cuDF。...当数据量不大,可以在单个GPU内存中处理时,cuDF提供了对单个GPU上高性能数据操作的支持。...Dask-cuDF: 当您希望在多个GPU上分布您的工作流程时,或者您的数据量超过了单个GPU内存的容量,或者希望同时分析许多文件中分布的数据时,您会希望使用Dask-cuDF。

    45512
    领券