文章目录
*
– DataFrame的应用
– 通过二维数组创建DataFrame对象
– 读取csv文件创建DataFrame对象
– 读取Excel文件创建DataFrame文件
– 读取SQL文件创建DataFrame文件
– 获取数据
–
+ 索引和切片
– 数据筛选
– 重塑数据
DataFrame的应用
通过二维数组创建DataFrame对象
DataFrame中data代表数组,colums代表行标题,index代表列标题
通过字典来创建DataFrame对象
; 读取csv文件创建DataFrame对象
可以通过pandas 模块的 read_csv
函数来读取 CSV 文件, read_csv
函数的参数非常多,下面接受几个比较重要的参数。
sep / delimiter
:分隔符,默认是,。
header
:表头(列索引)的位置,默认值是infer,用第一行的内容作为表头(列索引)。
index_col
:用作行索引(标签)的列。
usecols
:需要加载的列,可以使用序号或者列名。
true_values / false_values
:哪些值被视为布尔值True / False。
skiprows
:通过行号、索引或函数指定需要跳过的行。
skipfooter
:要跳过的末尾行数。
nrows
:需要读取的行数。
na_values
:哪些值被视为空值。
读取Excel文件创建DataFrame文件
可以通过pandas 模块的 read_excel
函数来读取 Exce l文件,该函数与上面的read_csv非常相近,多了一个 sheet_name
参数来指定数据表的名称,但是不同于 CSV 文件,没有sep或delimiter这样的参数。下面的代码中,read_excel函数的skiprows参数是一个 Lambda 函数,通过该 Lambda 函数指定只读取 Excel 文件的表头和其中10%的数据,跳过其他的数据。
读取SQL文件创建DataFrame文件
pandas模块的 read_sql
函数可以通过 SQL 语句从数据库中读取数据创建DataFrame对象,该函数的第二个参数代表了需要连接的数据库。对于 MySQL 数据库,我们可以通过pymysql或mysqlclient来创建数据库连接,得到一个Connection 对象,而这个对象就是read_sql函数需要的第二个参数
DataFrame对象的属性如下表所示。
属性名说明at / iat通过标签获取DataFrame中的单个值。columnsDataFrame对象列的索引dtypesDataFrame对象每一列的数据类型emptyDataFrame对象是否为空loc / iloc通过标签获取DataFrame中的一组值。ndimDataFrame对象的维度shapeDataFrame对象的形状(行数和列数)sizeDataFrame对象中元素的个数valuesDataFrame对象的数据对应的二维数组
如果需要查看DataFrame的头部或尾部的数据,可以使用head()或tail()方法,这两个方法的默认参数是5,表示获取DataFrame最前面5行或最后面5行的数据
获取数据
索引和切片
1,获取某一列
ename是行标题,DF是对象
DF.ename 或 DF['ename']
2,获取某一行
要添加 loc
如果要获取DataFrame的某一行,可以使用整数索引或我们设置的索引,例如取出员工编号为2056的员工数据
3,花式索引
花式索引的的最外层是[ [ ] ],的嵌套模式
这样可以同时获得多个行,多个列
如果要获取或修改DataFrame 对象某个单元格的数据,需要同时指定行和列的索引,例如要获取员工编号为2056的员工的职位信息
也可以通过切片操作来获取多行多列
数据筛选
数据筛选就是通过布尔索引来筛选DataFrame对象,如从emp_df中筛选出月薪超过3500的员工
2,多个条件进行筛选
; 重塑数据
有的时候,我们做数据分析需要的原始数据可能并不是来自一个地方,就像上面的例子中,我们从关系型数据库中读取了三张表,得到了三个DataFrame对象,但实际工作可能需要我们把他们的数据整合到一起。例如:emp_df和emp2_df其实都是员工的数据,而且数据结构完全一致,我们可以使用pandas提供的concat函数实现两个或多个DataFrame的数据拼接
Original: https://blog.csdn.net/zzxzzxking/article/details/126096714
Author: 菜鸟长安
Title: pandas中DataFrame的一些操作
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677038/
转载文章受原作者版权保护。转载请注明原作者出处!