数据分析(2)

数据分析(2)

本文介绍pandas的另一种数据类型DataFrame,中文叫数据框

DataFrame

定义:

DataFrame是一个二维的矩阵数据表,通过行和列,可以定位一个值。
在某种程度上,可以认为DataFrame是“具有相同index的series的集合”

定位:

1.行索引(index),可以用来定位到具体的某一行

2.列索引(columns),用来定位到具体的某一列

通过index和columns,可以定位到一个值,能快速进行数据的筛选和定位

DataFrame构造函数

import pandas as pd

data = {'rank':[1,2,3,4],'GDP':[80855,77388,68024,47251]}
city = ['GD','JS','SD','ZJ']
df = pd.DataFrame(data,index=city)
print(df)

运行结果:
在这里插入图片描述

第一个常用参数:data,表示需要传入的数据,可以是字典,列表等。若不传入数据,会生成一个空的DataFrame。

第二个常用参数:index,参数index用于定义DataFrame的行索引(index),如果不传入可选参数,index就会默认从0开始生成。

import pandas as pd

data = {'rank':[1,2,3,4],'GDP':[80855,77388,68024,47251]}
city = ['GD','JS','SD','ZJ']
df = pd.DataFrame(data,index=city)
print(df.dtypes) #输出df每一列数据的数据类型
print(df.values) #输出df的每一列的数据的值
print(df.index) #输出变量df的行索引

运行结果:
在这里插入图片描述

DataFrame的轴

轴(axis),是用来为超过一维的数组定义属性,二维数组有两个轴,三维数组有三个轴,以此类推。

eg:对于DataFrame而言,第0轴垂直向下,即axis=0是垂直方向进行操作;第1轴水平向右,即asix=1是水平方向进行操作。
在这里插入图片描述

如果要按行或者按列来对DataFrame内的数据进行求和,可以使用sum()函数。

那么在sum()函数中,就可以使用axis参数来指定求和的方向。

如下图所示
在这里插入图片描述

当axis=0时,是在垂直的方向上进行求和操作;

当axis=1时,是在水平的方向上进行求和操作。

文件读取

在大多数情况下,处理数据和分析数据时,我们的数据来源都是CSV文件和Excel文件
pandas的DataFrame有大量数据处理的方法,所以pandas会将数据读取为DataFrame对象,以便进行后续的数据处理操作。

CSV(Comma-Separated Values)文件以纯文本的形式存储数字、文本等表格数据。它的数据格式如图所示,文件中多个数据之间通常用逗号分隔,每一列的数据都是相同的结构。
在这里插入图片描述

读取CSV文件

在pandas模块中,读取CSV文件主要使用pd.read_csv()函数。

import pandas as pd

data = pd.read_csv("path")

参数:
必选参数: 要读取的CSV文件的文件路径

可选参数:1.指定行索引:index_col

2.获取指定列

3.添加colums:header=None和names

4.设置格式参数encoding=“utf-8”,避免读取csv文件乱码

保存CSV文件

保存CSV文件主要使用DataFrame(变量名).to_csv()

data.to_csv("path")

必选参数:要保存CSV文件的文件路径

可选参数:设置索引参数index = False,这样就不会将行索引信息写入第一列

设置参数encoding=“utf-8-sig”,避免产生csv文件乱码

读取Excel文件

在pandas模块中,读取excel文件主要使用pd.read_excel()函数。

data=pd.read_excel(".xlsx",sheet_name="XXX")

参数:
必选参数:要读取的Excel文件的文件路径

可选参数:当我们需要读取指定工作表时,pd.read_excel()函数提供了一个参数sheet_name = “”,将要读取的工作表名称作为字符串传入该参数即可

江湖可能因为少了谁而失色,却不会因为少了谁后就不再是江湖。 —高手寂寞

  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值