Pandas处理Excel文件源码学习


pandas.read_excel

pandas.read_excel API

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None)
读取Excel文件并转化为DataFrame结构

Parameters

  1. io: str, bytes, ExcelFile, xlrd.Book, path object, or file-like object
  2. header: int, list of int, default 0
    默认将第0行设置为DataFrame的列标签,也可指定任一行为列标签;如果excel文件中没有列标签,则将其设置为None
  3. index_col: int, list of int, default None
    默认用序列[0-n]作为DataFrame的行标签

Example

新建一个temp.xlsx文件
在这里插入图片描述

import pandas as pd
pd.read_excel('./temp.xlsx')


     Name	Value
0	string1	  1
1	string2	  2
2	#Comment  3
df = pd.read_excel('./temp.xlsx', index_col=None, header=0)
print(df)
df.shape


      Name    Value
0   string1      1
1   string2      2
2  #Comment      3
(3, 2)

pandas中,行列标签不计入df的shape中


pandas.DataFrame.set_index

pandas.DataFrame.set_index API:

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
将已存在的列设置为DataFrame的行标签

Parameters

1. keys: label or array-like or list of labels/arrays
这个参数可以是单个列标签、含有多个列标签的列表、与DataFrame行数相同的一维Series数组、含有列标签和Series数组的列表……

2. drop: bool, default True
删除原先的列,并将其作为新的行索引

Example

import pandas as pd
df = pd.DataFrame({'month': [1, 4, 7, 10],
                   'year': [2012, 2014, 2013, 2014],
                   'sale': [55, 40, 84, 31]
                  })
df


  month	 year  sale
0	1	2012	55
1	4	2014	40
2	7	2013	84
3	10	2014	31
df.set_index('month')


    year   sale
month		
1	2012	55
4	2014	40
7	2013	84
10	2014	31
df.set_index([pd.Index([1, 2, 3, 4]), 'year'])


          month  sale
    year		
1	2012	1	55
2	2014	4	40
3	2013	7	84
4	2014	10	31

numpy.sum()

numpy.sum() API
在某个axis上对numpy数组求和

sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)

a是求和对象
axis=0: 沿着行做垂直方向的运算,将Numpy数组压缩成一行
axis=1: 沿着列做水平方向的运算,将Numpy数组压缩成一列

阅读文章: numpy.sum()的使用


pandas.DataFrame.stack

pandas.DataFrame.stack API

stack的意思是堆叠,堆积
DataFrame结构中,表格在行列方向上均有索引,而将DataFrame进行Stack后,只有列方向上的索引,这类似于层次化的Series结构。stack函数会将数据从表格结构变成花括号结构,即将其行索引变成列索引,反之,unstack函数将数据从花括号结构变成表格结构,即要将其中一层的列索引变成行索引。

阅读文章:python pandas stack和unstack函数

但是将DataFrame进行stack的目的是什么?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值