pandas导入,并熟悉数据
Pandas 基础之 导入数据
导入数据主要用到的是 Pandas 中的
read_x()
方法,x标示导入文件格式
导入 xlsx 文件
这里是我们原始的 xlsx 文件内容
导入指定名 Sheet
xlsx 格式可以有多个 Sheet, 可以通过设置 sheet_name 参数来指定导入哪一个
1 | df2 = pd.read_excel(r'test.xlsx', sheet_name='Sheet1') |
r 的作用是转义,防止 \ 等符号,也可以不写
导入指定索引 Sheet
xlsx 格式可以有多个 Sheet, 可以通过设置 sheet_name 下标索引来直接获取(不用名称获取的时候可以使用这样的方法)
1 | df3 = pd.read_excel(r'test.xlsx', sheet_name=0) # 索引为0的哪个Sheet 开始导入 |
设置指定竖为索引
指定横向第n竖为索引,默认为表格自带的索引
例如1
df4 = pd.read_excel(r'test.xlsx', index_col=1)
第一张是默认导入,第二张是指定导入
指定从第几行开始载入
指定从第几行开始,默认0开始
1 | df5 = pd.read_excel(r'test.xlsx', header=0) |
指定导入哪几列
填写需要的索引即可, 列表形式
1 | df6 = pd.read_excel(r'test.xlsx', usecols=[0, 2]) |
导入 csv 文件
简单导入
1 | df1 = pd.read_csv(r'test.csv') |
指定分隔符号
read_csv() 默认文件中的数据都是以逗号分开的, 但有的特殊情况不是! 此时就要指定分隔符号, 否则会报错
1 | df2 = pd.read_csv(r'test.csv', sep=" ") # 以空给为分隔符 |
指定读取行数
1 | df3 = pd.read_csv(r'test.csv', nrows=2) # 只会读取 2 行数据 |
指定编码读取
最常用的是 utf8 和 gbk,默认 utf8
1 | df4 = pd.read_csv(r'test.csv', encoding='gbk') # 设置编码为gbk |
导入中文名文件
read_csv 默认使用 C 语言解释, 如果遇到中文名,需要 engine 设置为 python。 文件格式是 utf-8,编码格式也需要改为 utf-8-sig
1 | df5 = pd.read_csv(r'test.csv', engine='python', encoding='utf-8-sig') |
行索引等其余操作
与 xlsx 操作相同,参考 xlsx 导入设置即可
导入 txt 文件
read_table() 方法利用分隔符,不仅可以导入 txt 文件 同时也可以导入 csv
1 | df = pd.read_table(r'text.txt', sep=' ') # 以空格符为分隔 导入 txt 文件 |
导入 sql 文件
主要分为2步
- 链接 mysql
- 通过 sql 语句查询并读入 pandas 中
1 | import pandas as pd |
熟悉数据
成功导入数据后我们第一件事并不是全部读取打印,而是要先预估数据大小以及读取前几天数据。
预览前几行 head
利用 df.head(n)
就可以只打印前 n 行,这样可以避免在不知道整个数据量的情况下,先预览表大概数据格式
取数据表大小
利用 df.shape
可以获取表大小,返回元祖 (表行数, 列数)
获数据类型
在做数据挖掘时, 不同数据类型处理方式是不同的。
利用 df.info()
会返回 总字段数,共暂用内存量等
取数值分布情况
该方法只会对数字类型列进行统计
利用 df.describe()
就可以统计出, 总数、最大、最小等等详细分布值