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

干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

以’r+’模式打开文件允许数据的双向流动(读取和写入),这样你就可以在需要时往文件的末尾附加内容。你也可以指定rb或wb来处理二进制数据(而非文本)。...用索引可以很方便地辨认、校准、访问DataFrame中的数据。索引可以是一列连续的数字(就像Excel中的行号)或日期;你还可以设定多列索引。...索引列并不是数据(即便打印DataFrame对象时你会在屏幕上看到索引)。...在我们的例子中,我们还指定了index=False,这样不会保存索引;默认情况下,.to_excel(...)方法保存A列的索引。 4....以’_’为间隔,连接列表元素。如果不含空白字符,就将原始列名加入列表。

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

    长文预警,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏慢慢看

    由于 key 不能重复,所以,在 set 中,没有重复的 key。 变量 变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。...sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum) >>> 2500 在循环内部变量 n不断自减,直到变为-...get", params=payload) 此时的 r 是一个 response 对象,我们可以从中获取到相关信息 r.text # 获取响应内容 r.content # 以字节的方式读取响应信息...ndarray 对象 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。...,可以通过它来在整体上查看数据的全貌,有助于了解数据。

    2.1K20

    Pandas看这一篇即可

    日常工作中以DataFrame使用最为广泛,因为二维的数据本质就是一个有行有列的表格(想一想Excel电子表格和关系型数据库中的二维表)。...()方法,这个方法会返回一个Series对象,它的索引就是原来的Series对象中的值,而每个值出现的次数就是返回的Series对象中的数据,在默认情况下会按照出现次数做降序排列。...) ser9.plot(kind='bar', color=['r', 'g', 'b', 'y']) # x轴的坐标旋转到0度(中文水平显示) plt.xticks(rotation=0) # 在柱状图的柱子上绘制数字...上面的代码连接的是我部署在阿里云上的MySQL数据库,公网IP地址:47.104.31.138,用户名:guest,密码:Guest.618,数据库:hrs,表名:tb_emp,字符集:utf8mb4。...在统计学中,皮尔逊积矩相关系数用于度量两个变量 X 和 Y 之间的相关程度(线性相关),它的值介于-1到1之间。

    1.7K20

    【机器学习数据预处理】数据准备

    r^2 越接近1,说明两个变量之间的相关性越强; r^2 越接近0,说明两个变量之间几乎不存在直线相关关系。   ...,表示是否不保留连接轴上的索引,产生一组新索引range(total_length),默认为False keys 接收sequence,表示与连接对象有关的值,用于形成连接轴向上的层次化索引,默认为None...levels 接收包含多个sequence的list,在指定keys参数后,指定用作层次化索引时各级别中的索引,默认为None names 接收list,在设置了keys和levels参数后,用于创建分层级别的名称...当需要合并的表索引或列名不完全一样时,可以使用join参数选择是内连接还是外连接,在内连接的情况下,仅仅返回索引或列名的重叠部分;在外连接的情况下,则显示索引或列名的并集部分数据,不足的地方则使用空值填补...表示操作的轴向,默认对列进行操作。默认为0 level 接收int或索引名。表示标签所在级别。默认为None as_index 接收bool。表示聚合后的聚合标签是否以DataFrame索引形式输出。

    9810

    AutoML之自动化特征工程

    深度特征合成堆叠多个转换和聚合操作(在特征工具的词汇中称为特征基元),以通过分布在许多表中的数据创建特征。 Featuretools有两个主要概念: 第一个是entities,它可被视为单个表。...,索引是由实体中具有唯一元素值的列构成。...也就是说,索引中的每个值必须只出现在表中一次。...所以严格意义上,Boruta并不是我们所需要的自动化特征工程包。 Boruta-py是brouta特征约简策略的一种实现,在该策略中,问题以一种完全相关的方式构建,算法保留对模型有显著贡献的所有特征。...所有特性的性能差异用于计算相对重要性。 Boruta函数通过循环的方式评价各变量的重要性,在每一轮迭代中,对原始变量和影子变量进行重要性比较。

    2.1K21

    要找房,先用Python做个爬虫看看

    让我们试着得到上图看到的价格。我将首先定义first变量,它将是我们的第一个房子(从house_containers变量中获得)的结构。...在构建能从每个页面获得所有结果的完美for循环之前,我将在下面给出一些示例。 ? 这些例子应该足够你自己做研究了。我仅从摆弄html结构和操作返回值以得到我想要的东西中就学到了很多。...代码由两个for循环组成,它们遍历每个页面中的每个房产。 如果你跟随本文,你会注意到在遍历结果时,我们只是在收集前面已经讨论过的数据。...由于有以“/”分开的卖价和租金同时存在的情况,价格字段比想象中更加复杂。在一些结果中,索引2返回了“Contacte Anunciante”,因此我更新代码,添加if语句以在下一个索引位置查找价格。...您可以在循环中更改变量sapo_url以包含特定的过滤器。只需在浏览器中执行你想要的过滤器并进行搜索。地址栏将刷新并显示带有过滤器的新url。

    1.4K30

    JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL

    流程处理   三者都支持基础的顺序执行、判断分支、循环,理论上可进行任意复杂的流程处理,这方面不多讨论,下面重点比较针对集合数据的循环结构是否方便。...-1 }   Kotlin的forEachIndexed函数自带序号变量和成员变量,进行集合循环时比较方便,支持下标取记录,可以方便地进行跨行计算。...>= 1000 && it.Amount < 3000}   Koltin专业性不足,通常要硬写代码读取CSV,包括事先定义数据结构,在循环函数中手工解析数据类型,整体代码相当繁琐。...简单的取字段功能都这么繁琐,高级些的功能就更麻烦了,比如:按字段序号取、按参数取、获得字段名列表、修改字段结构、在字段上定义键和索引、按字段查询计算。   ...,序表还支持在字段上定义键和索引: Orders.keys@i(OrderID) //定义键,同时建立哈希索引 Orders.find(47) //用索引高速查找 计算函数   Kotlin

    2.5K100

    RFM会员价值度模型

    ②在会员数据库中,以今天为时间界限向前推固定周期(例如1年),得到包含每个会员的会员ID、订单时间、订单金额的原始数据集。一个会员可能会产生多条订单记录。 ③ 数据预计算。...  数据介绍  案例数据是某企业从2015年到2018年共4年的用户订单抽样数据,数据来源于销售系统 数据在Excel中包含5个sheet,前4个sheet以年份为单位存储为单个sheet中,最后一张会员等级表为用户的等级表...   读取数据 查看数据基本情况  数据预处理 通过for循环配合enumerate方法,获得每个可迭代元素的索引和具体值 处理缺失值和异常值只针对订单数据,因此sheet_datas通过索引实现不包含最后一个对象...1]来过滤出包含订单金额>1的记录数,然后替换原来sheet_datas中的dataframe 最后一行代码的目的是在每个年份的数据中新增一列max_year_date,通过each_data['提交日期...汇总所有数据  汇总所有数据: 将4年的数据使用pd.concat方法合并为一个完整的dataframe data_merge,后续的所有计算都能基于同一个dataframe进行,而不用写循环代码段对每个年份的数据单独计算

    47110

    资源 | Feature Tools:可自动构造机器学习特征的Python库

    本文完整代码可在 Github 上找到。 特征工程基本概念 特征工程意味着从现有的数据中构造额外特征,这些特征通常分布在多张相关的表中。...每个实体都必须带有一个索引,它是一个包含所有唯一元素的列。就是说,索引中的每个值只能在表中出现一次。在 clients 数据框中的索引是 client_id,因为每个客户在该数据框中只对应一行。...,因为它只能取 2 个离散的数值,所以在特征工具中,将其看成一个分类变量。...当我们执行聚合操作的时候,我们根据父变量对子表进行分组,并计算每个父亲的儿子的统计量。 为了形式化特征工具中的关联规则,我们仅需指定连接两张表的变量。...clients 表和 loans 表通过 client_id 变量连接,同时 loans 表和 payments 表通过 loan_id 变量连接。

    2.2K20

    Pandas 学习手册中文第二版:1~5

    pandas 从统计编程语言 R 中带给 Python 许多好处,特别是数据帧对象和 R 包(例如plyr和reshape2),并将它们放置在一个可在内部使用的 Python 库中。...大型数据集的基于智能标签的切片,花式索引和子集 可以从数据结构中插入和删除列,以实现大小调整 使用强大的数据分组工具聚合或转换数据,来对数据集执行拆分应用合并 数据集的高性能合并和连接 分层索引有助于在低维数据结构中表示高维数据...这非常重要,因为熟悉 Python 的人比 R(更多的统计数据包),获得了 R 的许多数据表示和操作功能,同时完全保留在一个极其丰富的 Python 生态系统中。...许多数据不是免费的,实际上要花费大量金钱。 其中一些可通过公共 API 免费获得,其他一些则通过订阅获得。 您所支付的数据通常更干净,但这并非总是如此。...这允许简单地应用操作,而无需显式地编码连接。 在本章中,我们将研究如何使用Series为变量的测量建模,包括使用索引来检索样本。

    8.3K10

    Python提取大量栅格文件各波段的时间序列与数值变化

    随后,列出input_folder文件夹下所有以.tif结尾的文件,并存储在列表中。...读取当前波段的数据,并存储在band_data变量中。随后基于我们给定的像元位置,提取目标像元的数值(位置就是这个[target_row, target_col])。...此外,为了使得我们保存结果时可以记录每一个数值对应的成像日期,因此需要从文件名中提取日期,并存储在date变量中。   ...接下来,通过time_series_df.at[date, f'Band_{band + 1}'],将像元值存储在DataFrame中,行索引为日期,列名为Band_1、Band_2等;随后,将数据集对象...最后,我们将处理后的时间序列数据保存为Excel表格文件即可。   运行上述代码,我们即可获得多个遥感影像文件中,给定像元位置处,像元数值的时间变化序列,并可以获得其变化值。   至此,大功告成。

    12910

    python:Pandas里千万不能做的5件事

    大部分时候,你必须只用索引找到一个值,或者只用值找到索引。 然而,在很多情况下,你仍然会有很多不同的数据选择方式供你支配:索引、值、标签等。 在这些不同的方法中,我当然会更喜欢使用当中最快的那种方式。...我在这里使用它们纯粹是为了证明循环内行的速度差异) 错误2:只使用你电脑 CPU 的四分之一 无论你是在服务器上,还是仅仅是你的笔记本电脑,绝大多数人从来没有使用过他们所有的计算能力。...安装 Jupyter 的变量检查器插件。如果你习惯于在 R-Studio 中使用变量检查器,那么你应该知道 R-Studio 现在支持 Python了。...如果您已经在 Jupyter 会话中,您可以随时在不重启的情况下擦除变量,使用 del df2 。...Matplotlib 是由 Pandas 自动导入的,它甚至会在每个 DataFrame 上为你设置一些图表配置。既然已经为你在 Pandas 中内置了它,那就没有必要再为每张图表导入和配置了。

    1.6K20

    可自动构造机器学习特征的Python库

    本文完整代码可在 Github 上找到。 特征工程基本概念 特征工程意味着从现有的数据中构造额外特征,这些特征通常分布在多张相关的表中。...每个实体都必须带有一个索引,它是一个包含所有唯一元素的列。就是说,索引中的每个值只能在表中出现一次。在 clients 数据框中的索引是 client_id,因为每个客户在该数据框中只对应一行。...当我们执行聚合操作的时候,我们根据父变量对子表进行分组,并计算每个父亲的儿子的统计量。 为了形式化特征工具中的关联规则,我们仅需指定连接两张表的变量。...clients 表和 loans 表通过 client_id 变量连接,同时 loans 表和 payments 表通过 loan_id 变量连接。...深度特征合成可以依次叠加特征基元:「聚合」,它们在多张表间的一对多关联中起作用,以及「转换」,是应用于单张表中一或多列以从多张表中构造新的特征的函数。

    1.9K30

    盘点66个Pandas函数,轻松搞定“数据清洗”!

    describe方法默认只给出数值型变量的常用统计量,要想对DataFrame中的每个变量进行汇总统计,可以将其中的参数include设为all。...df["编号"].replace(r'BA.$', value='NEW', regex=True, inplace = True) 输出: 在Pandas模块中, 调⽤rank()⽅法可以实现数据排名...,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。...df.rename(columns={'mark': 'sell'}, inplace=True) 输出: 行列转置,我们可以使用T属性获得转置后的DataFrame。...今天我们盘点了66个Pandas函数合集,但实际还有很多函数在本文中没有介绍,包括时间序列、数据表的拼接与连接等等。此外,那些类似describe()这种大家非常熟悉的方法都省去了代码演示。

    3.8K11

    针对SAS用户:Python数据分析库pandas

    换句话说,DataFrame看起来很像SAS数据集(或关系表)。下表比较在SAS中发现的pandas组件。 ? 第6章,理解索引中详细地介绍DataFrame和Series索引。...在SAS例子中,我们使用Data Step ARRAYs 类同于 Series。 以创建一个含随机值的Series 开始: ? 注意:索引从0开始。...Series由整数值索引,并且起始位置是0。 ? SAS示例使用一个DO循环做为索引下标插入数组。 ? 返回Series中的前3个元素。 ? 该示例有2个操作。...注意DataFrame的默认索引(从0增加到9)。这类似于SAS中的自动变量n。随后,我们使用DataFram中的其它列作为索引说明这。...在删除缺失行之前,计算在事故DataFrame中丢失的记录部分,创建于上面的df。 ? DataFrame中的24个记录将被删除。

    12.1K20

    Python数据分析~~美食排行榜

    ") # 使用列索引和str.contains()函数 # 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot fishpot = df[df["店铺名称"].str.contains...hotpot.csv") # 使用列索引和str.contains()函数 # 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot fishpot = df[df["店铺名称..."].str.contains("鱼")] # 将店铺名称设置为行索引,将新的Dataframe赋值给变量fishpot2 fishpot2 = fishpot.set_index("店铺名称")...函数会打印这个评分最高的行索引 6.索引的重置 (1)我们获得这个店铺的名称之后,这个还需要还原为dataframe格式,也就是二维的列表格式,这个时候我们需要使用reset_index()函数进行这个索引的重置...df = pd.read_csv("/Users/feifei/hotpot.csv") # 使用列索引和str.contains()函数 # 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量

    6210

    Python3分析CSV数据

    2.2 筛选特定的行 在输入文件筛选出特定行的三种方法: 行中的值满足某个条件 行中的值属于某个集合 行中的值匹配正则表达式 从输入文件中筛选出特定行的通用代码结构: for row in filereader...,在一个输入文件集合中迭代,并使用glob模块和os模块中的函数创建输入文件列表以供处理。...循环语句对于列表中每个输入文件执行下面缩进的各行代码。...最后,对于第三个值,使用内置的len 函数计算出列表变量header 中的值的数量,这个列表变量中包含了每个输入文件的列标题列表。我们使用这个值作为每个输入文件中的列数。...最后,在第15 行代码打印了每个文件的信息之后,第17 行代码使用file_counter 变量中的值显示出脚本处理的文件的数量。

    6.7K10

    Pandas

    以加法为例,它会匹配索引相同(行和列)的进行算术运算,再将索引不匹配的数据视作缺失值,但是也会添加到最后的运算结果中,从而组成加法运算的结果。...它是人为虚设的变量,通常取值为 0 或 1,来反映某个变量的不同属性。 哑变量的处理过程实际上就是分类型特征的值的编码过程。...()函数和pandas.DataFrame.join()方法,多表的连接要把被连接的 df 名称以列表的形式传入 pd.merge(df1,df2,on=‘column_name’) pd.merge...数据横向、纵向堆叠:pandas.concat([],axis=,join=)(可以通过 keys 来在合并轴上创建层次索引) s1=pd.DataFrame( { 'height...窗口函数 在实际应用过程中,我们可能会存在对整个 df 的局部数据进行统计分析的场景,这时就需要用到所谓的“窗口函数”,可以理解为在整体数据集上创建窗口来进行运算,pd 中提供的几种窗口函数有: rolling

    9.2K30

    esproc vs python 4

    ,start和end是提前设置好的网格变量(在集算器的程序——网格参数处可以设置。)...耗时esproc0.003python0.020 7.统计各等级在各个项目上的人数合计 题目介绍:sports表中存放有各个项目(短跑,长跑,跳远,跳高,铅球)的成绩(优秀,良好,及格,不及格),数据如下...我们的目的是统计出各个等级在各个项目上的人数。...A3中 A7: A.pivot(g,…;F,V;Ni:N'i,…),以字段/表达式g为组,将每组中的以F和V为字段列的数据转换成以Ni和N'i为字段列的数据,以实现行和列的转换。...另外python中的merge函数不支持差集计算(或许其他函数支持),造成在第四例中特别麻烦。python pandas的dataframe结构是按列进行存储的,按行循环时就显得特别麻烦。

    1.9K10
    领券