python-pandas库

目录

目录

目录

1.pandas库简介(https://www.gairuo.com/p/pandas-overview)

2.pandas库read_csv方法(https://zhuanlan.zhihu.com/p/340441922?utm_medium=social&utm_oi=27819925045248)


1.pandas库简介(https://www.gairuo.com/p/pandas-overview)

用途:

    Pandas 可以用来进来各种表格数据处理,实现复杂的处理逻辑,这些往往是 Excel 等工具无法处理的,还可以自动化、批量化,对于相同的大量的数据处理我们不需要重复去工作。

适用的数据:

    Pandas 适合处理一个规正的二维数据(如图),即有 N 行 N 列,类似于 SQL 执行后产出的,或者无合并单元格Excel 表格这样的数据。它可以把多个文件的数据合并在一起,如果结构不一样,也可以经过处理进行合并。

基本功能:

  • 从 Excel、CSV、网页、SQL、剪贴板等读取数据
  • 合并多个文件或者 sheet 数据,拆分数据为独立文件
  • 数据清洗,如去重、缺失值、填充默认值、格式补全、极端值处理等
  • 建立高效的索引
  • 支持大体量数据
  • 按一定业务逻辑插入计算后的列、删除列
  • 灵活方便的数据查询、筛选
  • 分组聚合数据,可独立指定分组后的各字段计算方式
  • 数据的转置,如行转列列转行变更处理
  • 连接数据库,直接 SQL 查询数据并进行处理
  • 对时序数据进行分组采样,如按月、按季、按工作小时,也可以自定义周期,如工作日
  • 窗口计划,移动窗口统计、日期移动等
  • 灵活的可视化图表输出,支持所有的统计图形
  • 融合在表格的样式风格,提高数据识别效率

2.pandas库read_csv方法(https://zhuanlan.zhihu.com/p/340441922?utm_medium=social&utm_oi=27819925045248)

  • pandas.read_csv方法函数用来读取CSV格式数据文件,默认返回DataFrame格式的数据
  • DataFrame格式: 是Pandas库中的一种数据结构,类似excel或者sql中的表

  • 参数解析:

 1. filepath_or_buffer:数据输入的路径:可以是文件路径、可以是URL,也可以是实现read方法的任意对象。这个参数,就是我们输入的第一个参数

import pandas as pd

pd.read_csv("girl.csv")

# 还可以是一个URL,如果访问该URL会返回一个文件的话,那么pandas的read_csv函数会自动将

该文件进行读取。比如:我们用fastapi写一个服务,将刚才的文件返回。

pd.read_csv("http://localhost/girl.csv")

# 里面还可以是一个 _io.TextIOWrapper,比如:

f = open("girl.csv", encoding="utf-8")
pd.read_csv(f)

 2. 索引列 index_col: 我们在读取文件之后所得到的DataFrame的索引默认是0、1、2……,我们可以通过set_index设定索引,但是也可以在读取的时候就指定某列为索引

pd.read_csv('girl.csv', delim_whitespace=True, index_col="name")

# int, str, sequence of int / str, or False, default None

# 默认为 `None`, 自动识别索引

pd.read_csv(data, index_col=False) # 不再使用首列作为索引

pd.read_csv(data, index_col=0) # 第几列是索引

pd.read_csv(data, index_col='年份') # 指定列名

pd.read_csv(data, index_col=['a','b']) # 多个索引

pd.read_csv(data, index_col=[0, 3]) # 按列索引指定多个索引

 3. dtype:在读取数据的时候,设定字段的类型。比如,公司员工的id一般是:00001234,如果默认读取的时候,会显示为1234,所以这个时候要把他转为字符串类型,才能正常显示为00001234:

df = pd.read_csv('girl.csv', delim_whitespace=True)

df = pd.read_csv('girl.csv', delim_whitespace=True, dtype={"id": str})

4.usecols:如果一个数据集中有很多列,但是我们在读取的时候只想要使用到的列,我们就可以使用这个参数

pd.read_csv('girl.csv', delim_whitespace=True, usecols=["name", "address"])

5.sep:读取csv文件时指定的分隔符,默认为逗号。注意:"csv文件的分隔符" 和 "我们读取csv文件时指定的分隔符" 一定要一致。

pd.read_csv("girl.csv")

由于指定的分隔符 和 csv文件采用的分隔符 不一致,因此多个列之间没有分开,而是连在一起了。 所以,我们需要将分隔符设置成"\t"才可以。

pd.read_csv('girl.csv', sep='\t')

6. delim_whitespace :默认为 False,设置为 True 时,表示分割符为空白字符,可以是空格、"\t"等等。不管分隔符是什么,只要是空白字符,那么可以通过delim_whitespace=True进行读取。

pd.read_csv('girl.csv',delim_whitespace=True)

7.names:当names没被赋值时,header会变成0,即选取数据文件的第一行作为列名;当 names 被赋值,header 没被赋值时,那么header会变成None。如果都赋值,就会实现两个参数的组合功能

1) names 没有被赋值,header 也没赋值:

# 这种情况下,header为0,即选取文件的第一行作为表头

pd.read_csv('girl.csv',delim_whitespace=True)

2) names 没有被赋值,header 被赋值:

# 不指定names,指定header为1,则选取第二行当做表头,第二行下面为数据

pd.read_csv('girl.csv',delim_whitespace=True, header=1)

3) names 被赋值,header 没有被赋值:

pd.read_csv('girl.csv', delim_whitespace=True, names=["编号", "姓名", "地址", "日期"])

更多参数解析请参考文档(https://zhuanlan.zhihu.com/p/340441922?utm_medium=social&utm_oi=27819925045248)

举例

data.csv格式数据样式:

查看数据:

import pandas as pd

data = pd.read_csv('./data.csv',index_col='A')
print(data)
index = data.index
col = data.columns
print(index)
print(col)
# 取索引为'a'的行
 print(data.loc['a'])

打印结果: 

  A   B   C   D   E   F

a   1   2   3   4   5   6
b   7   8   9  10  11  12
c  13  14  15  16  17  18
d  19  20  21  22  23  24
e  25  26  27  28  29  30
f  31  32  33  34  35  36
g  37  38  39  40  41  42
h  43  44  45  46  47  48

Index(['A, '1', '7', '13', '19', '25', '31', '37', '43'], dtype='object')

Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object')

A   1
B   2
C   3
D   4
E   5
F   6

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值