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

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

下面这小块代码读取了CSVTSV格式的数据,存入pandas DataFrame数据结构,然后写回到磁盘上(read_csv.py文件): import pandas as pd # 读出数据的文件...创建xlsx_read字典,我们使用了字典表达式,这个做法很Python:不是显式地遍历工作表,元素添加到字典,而是使用字典表达式,让代码更可读、更紧凑。..., data): ''' 以XML格式保存数据 ''' def xml_encode(row): ''' 以特定的嵌套格式每一编码成XML ''' # 读出写入数据的文件 r_filenameXML...字典每个元素的键名对应XML元素的var_name属性。(有这样的格式:。)...加粗部分指的是列名()对应的值()。 解析完所有字段后,使用'\n'.join(...)方法,xmlItem列表中所有项连接成一个长字符串。...

8.3K20

DataFrameSeries的使用

DataFrameSeries是Pandas最基本的两种数据结构 可以把DataFrame看作由Series对象组成的字典,其中key是列名,值是Series SeriesPython...里面没有一种数据结构对应的概念 创建DataFrame name_list = pd.DataFrame({'姓名':['Tome','Bob'],'职业':['AI工程师','AI架构师'],'年龄...':[28,36]}) # 生成三列数据,列索引分别为姓名,职业年龄 pd.DataFrame() 默认第一个参数放的就是数据 - data 数据 - columns 列名 - index 索引...# 查看df类型 type(df) # 查看df的shape属性,可以获取DataFrame的行数,列数 df.shape # 查看df的columns属性,获取DataFrame列名 df.columns...传入的是索引的序号,loc是索引的标签 使用iloc可以传入-1来获取最后一数据,使用loc的时候不行 lociloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[],[列]

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

Pandas知识点-添加操作append

Pandas,append()方法用于一个或多个DataFrame或Series添加到DataFrame。append()方法也可以用于合并操作,本文介绍append()方法的用法。...指定Series的name参数,这样Series将以name参数作为索引添加到DataFrame。...合并根据指定的连接列(或索引)连接方式来匹配两个DataFrame。可以在结果设置相同列名的后缀显示连接列是否在两个DataFrame中都存在。...合并根据指定的连接列(或索引)连接方式来匹配两个DataFrame,也可以设置相同列名的后缀,所以有时候join()merge()可以相互转换。...append(): 添加操作,可以多个DataFrame添加到一个DataFrame,按的方式进行添加。添加操作只是多个DataFrame拼接到一起,可以重设索引。

4.6K30

高效的10个Pandas函数,你都用过吗?

Insert Insert用于在DataFrame的指定位置插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,新列添加到任何位置。...Sample Sample用于从DataFrame随机选取若干个或列。...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(columnindex)选择列 iloc:按索引位置选择列 选择df第1~3、第1~2列的数据...两人并列第1,下一个人是第 2 method=first: 相同值会按照其在序列的相对位置定值 ascending:正序倒序 对df列value_1进行排名: df['rank_1'] =...Melt Melt用于宽表变成窄表,是 pivot透视逆转操作函数,列名转换为列数据(columns name → column values),重构DataFrame

4.1K20

Series计算DataFrame常用属性方法

Series的布尔索引 从Series获取满足某些条件的数据,可以使用布尔索引 然后可以手动创建布尔值列表 bool_index = [True,False,False,False,True] scientists...是数据集的行数乘列数  count统计数据集每个列含有的非空元素 也可以利用布尔索引获取某些元素(使用逻辑运算获取最小值) 更改Series DataFrame 通过set_index()方法设置索引名字...加载数据文件,如果不指定索引,Pandas会自动加上从0开始的索引 如果提前写好索引的列表,可以用set_index引入进来,也可以直接写入列表内容 加载数据的时候,也可以通过通过index_col...通过reset_index()方法可以重置索引,索引重置成自动的索引  修改列名(columns) 索引(index): 1.通过rename()方法对原有的索引列名进行修改 2.index... columns属性提取出来,修改之后,再赋值回去 3.通过dataframe[列名]添加新列 4.使用insert()方法插入列 loc 新插入的列在所有列的位置(0,1,2,3...) column

7810

python自动化系列之Pandas操作Excel读写

简单入门:导入pandas> import pandas as pdpandas中最重要的类型DataFrame的介绍:DataFramePandas 的一种抽象数据对象(表格类型),Excel...DataFrame Excel 的属性DataFramesheet 页Series 列Index 行号row NaN 空单元格---简单读数据1、读取文件,...从第一开始读,读取第一个sheetdata = pd.read_excel('urpan.xlsx',header=0)> 读文件传递参数介绍:```pythonio:待读取数据的文件 sheet_name...如果传入1,则为第2个表;可指定传入表,如"Sheet1"; 也可传入多个表,如[0,‘Sheet3’],传入第一个表名为’Sheet3’的表。...header: 指定作为列名,默认0,即取第一的值为列名。数据为列名以下的数据;若数据不含列名,则设定 header = None。

1.3K00

Pandas

’]][m:n] 使用属性方式访问 单列:DataFrame.column1_name 单列多行:DataFrame.column1_name[m:n] 访问的特殊方法 访问 m 到 n DataFrame...更改名称 pd的一个df一般会有两个位置有名称,一个是轴的名称(axis_name),一个是或列的名称,两个名称可以在创建df进行声明,也可以调用方法进行修改: df.rename_axis(str...一些方法: #在创建df规定列名的一种方法 data = pd.DataFrame(np.arange(6).reshape((2, 3)), index...以加法为例,它会匹配索引相同(列)的进行算术运算,再将索引不匹配的数据视作缺失值,但是也会添加到最后的运算结果,从而组成加法运算的结果。...传入一个函数名组成的列表,则会将每一个函数的函数名作为返回值的列名,如果不希望使用函数名作为列名,可以列表的元素写成类似’(column_name,function)'的元组形式来指定列名name

9.1K30

Pandas速查手册中文版

pandas-cheat-sheet.pdf 关键缩写包导入 在这个速查手册,我们使用如下缩写: df:任意的Pandas DataFrame对象 同时我们需要做如下的引入: import pandas...文件 df.to_sql(table_name, connection_object):导出数据到SQL表 df.to_json(filename):以Json格式导出数据到文本文件 创建测试对象 pd.DataFrame...(np.random.rand(20,5)):创建205列的随机数组成的DataFrame对象 pd.Series(my_list):从可迭代对象my_list创建一个Series对象 df.index...DataFrame的每一列应用函数np.mean data.apply(np.max,axis=1):对DataFrame的每一应用函数np.max 数据合并 df1.append(df2):df2...添加到df1的尾部 df.concat([df1, df2],axis=1):df2的列添加到df1的尾部 df1.join(df2,on=col1,how='inner'):对df1的列df2

12.1K92

Python数据分析之pandas基本数据结构

通过字典创建Series数组,字典的key会自动被设置成Series数组的索引: >>> pd.Series({'name':'张三', 'age':40, 'weight':140}) name...此外DataFrame数组还有一个列名,索引列名是从数组挑选数据的重要依据。...a 1.0 NaN (2)通过列表创建 通过列表创建DataFrame数组,列表的每一个元素必须是字典,这样,字典的键将作为列名。...B 4 5 6 3.3 DataFrame数组的常用属性 DataFrame数组的属性与Series数据几乎一样,只是多了一个保存列名信息的columns属性,参看上面表格的Series属性就行了。...4 总结 本文大致介绍了Pandas的两种重要数据结构Series数组对象DataFrame数组对象的特点、主要创建方法、属性

1.2K10

手把手教你做一个“渣”数据师,用Python代替老情人Excel

演示支持xlsxlsx文件扩展Pandas的read_excel方法。read_csv与read_excel相同,就不做深入讨论了,但我会分享一个例子。...2、一些重要的Pandas read_excel选项 ? 如果默认使用本地文件的路径,用“\”表示,接受用“/”表示,更改斜杠可以文件添加到Python文件所在的文件夹。...5、略过列 默认的read_excel参数假定第一是列表名称,会自动合并为DataFrame的列标签。...二、查看的数据的属性 现在我们有了DataFrame,可以从多个角度查看数据了。Pandas有很多我们可以使用的功能,接下来将使用其中一些来看下我们的数据集。...1、查看列 包括以下三种主要方法: 使用点符号:例如data.column_name 使用方括号列名称:数据[“COLUMN_NAME”] 使用数字索引iloc选择器:data.loc [:,'column_number

8.3K30

Python数据分析的数据导入导出

该函数可以Excel文件读取为一个DataFrame对象,具体用法如下: import pandas as pd # 导入Excel表格 data = pd.read_excel('文件路径/文件...它的参数用法与read_csv方法类似。 read_table read_table函数是pandas的一个函数,用于一个表格文件读入为一个DataFrame对象。...函数是pandas的一个方法,用于DataFrame对象保存为CSV文件。...xlsx格式数据输出 to_excel to_excel函数是pandas的一个方法,用于DataFrame对象保存到Excel文件。...-8', engine=None) 以上代码DataFrame对象df保存为名为’data.xlsx'的Excel文件,在Sheet1写入数据,不保存索引列,保存列名,数据从第3第2列开始,合并单元格

13310

Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)

Pandas数据处理——渐进式学习 ---- 目录 Pandas数据处理——渐进式学习 前言 环境 DataFrame删除NaN空值 dropna函数参数 测试数据 删除所有有空的 axis属性值...需要提供列名数组 inplace:值是TrueFalse,True是在原DataFrame上修改,False则创建新副本 测试数据 import pandas as pd import numpy...how属性值 import pandas as pd import numpy as np df = pd.DataFrame( {'name': ['张丽华', '李诗诗', '王语嫣',...thres属性值 import pandas as pd import numpy as np df = pd.DataFrame( {'name': ['张丽华', '李诗诗', '王语嫣'...subset属性值 我这里清除的是[name,age]两列只要有NaN的值就会删除 import pandas as pd import numpy as np df = pd.DataFrame

3.7K20

如何在 Pandas DataFrame重命名列?

DataFrame上最常见的操作之一是重命名(rename)列名称。 分析人员重命名列名称的动机之一是确保这些列名称是有效的Python属性名称。...这意味着列名称不能以数字开头,而是带下画线的小写字母数字。好的列名称还应该是描述性的,言简意赅,并且不应与现有的DataFrame或Series属性冲突。 本文中,我们重命名列名称。...可以Python列表赋值给索引属性。...当列表具有与列标签相同数量的元素,此赋值有 以下代码就显示了这样一个示例 从CSV文件读取数据,并使用index_col参数告诉Pandasmovie_title列用作索引。...在每个Index对象上使用.to_list方法来创建Python标签列表。 在每个列表修改3个值,这3个值重新赋值给.index.column属性

5.4K20

pandas入门:Series、DataFrame、Index基本操作都有了!

pandas应用领域广泛,包括金融、经济、统计、分析等学术商业领域。本文介绍pandasSeries、DataFrame、Index等常用类的基本用法。...9 由于DataFrame是二维数据结构,包含列索引(列名),因此较Series有更多的属性。...访问DataFrame首尾数据 headtail方法用于访问DataFrame前n后n行数据,默认返回5数据,如代码清单6-14所示。...表示删除的或列的标签。无默认值 axis:接收0或1。表示执行操作的轴向,其中0表示删除,1表示删除列。默认为0 levels:接收int或者索引。表示索引级别。...创建Index Index对象可以通过pandas.Index()函数创建,也可以通过创建数据对象Series、DataFrame接收index(或column)参数创建,前者属于显式创建,后者属于隐式创建

4.3K30

几个高效Pandas函数

Insert Insert用于在DataFrame的指定位置插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,新列添加到任何位置。...Sample Sample用于从DataFrame随机选取若干个或列。...用法: DataFrame.loc[] # 或者 DataFrame.iloc[] loc:按标签(columnindex)选择列 iloc:按索引位置选择列 选择df第1~3、第1~2列的数据...两人并列第1,下一个人是第 2 method=first: 相同值会按照其在序列的相对位置定值 ascending:正序倒序 对df列value_1进行排名: In [115]: df Out...Melt Melt用于宽表变成窄表,是 pivot透视逆转操作函数,列名转换为列数据(columns name → column values),重构DataFrame

1.5K60

【Python环境】Python的结构化数据分析利器-Pandas简介

或者以数据库进行类比,DataFrame的每一是一个记录,名称为Index的一个元素,而每一列则为一个字段,是这个记录的一个属性。...只是思路略有不同,一个是以列为单位构建,所有记录的不同属性转化为多个Series,标签冗余,另一个是以行为单位构建,每条记录转化为一个字典,列标签冗余。...创建DataFrame后可以通过index.name属性DataFrame的索引指定名称。...one two index a 1 1 b 2 2 c 3 3 d NaN 4 4 rows × 2 columns index(columns(列)属性,可以获得DataFrame列的标签...DataFrame写入Excel文件: df.to_excel('foo.xlsx', sheet_name='sheet1') 默认的sheet为sheet1,也可以指定其他sheet

15K100

pandas分组聚合转换

调用的方法都来自于pandas的groupby对象,这个对象定义了许多方法,也具有一些方便的属性。...> 通过groups属性,可以返回从组映射到组索引列表组索引列表的字典: con = gro.groups con.keys() # dict_keys([('Fudan University...']],因此所有表方法属性都可以在自定义函数相应地使用,同时只需保证自定义函数的返回为布尔值即可。...: a, dtype: int64 题目:创建一个新的列'new_column',其值为'column1'每个元素的两倍,当原来的元素大于10的时候,新列里面的值赋0   import pandas...题目:请创建一个两列的DataFrame数据,自定义一个lambda函数用来两列之和,并将最终的结果添加到新的列'sum_columns'当中    import pandas as pd data =

8710

Pandas 25 式

创建 DataFrame 创建 DataFrame 的方式有很多,比如,可以把字典传递给 DataFrame 构建器,字典的 Key 是列名,字典的 Value 为列表,是 DataFrame 的列的值...还有一种简单的方式可以一次性重命名所有列,即,直接为列的属性赋值。 ? 只想替换列名里的空格,还有更简单的操作,直接用 str.replace 方法,不必把所有的列名都敲一遍。 ?...用多个文件建立 DataFrame ~ 按列 上个技巧按合并数据集,但是如果多个文件包含不同的列,该怎么办? 本例 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 列。 ?...只想删除列缺失值高于 10% 的缺失值,可以设置 dropna() 里的阈值,即 threshold. ? 16. 把字符串分割为多列 创建一个 DataFrame 示例。 ?...把姓名列分为姓与两列,用 str.split() 方法,按空格分割,并用 expand 关键字,生成一个新的 DataFrame。 ? 通过赋值语句,把这两列添加到DataFrame。 ?

8.4K00
领券