Zihao

Make small but daily progress

0%

Python中用pandas处理Excel文件

Pandas是Python的基于Numpy创建数据处理包,提供了很多高效的操作大型数据集的方法。本文主要介绍了如何使用pandas处理Excel文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import pandas as pd
import numpy as np
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df=pd.DataFrame(d)
print df
mean=df.mean()
print mean
#可以通过传递一个list对象来创建一个Series,pandas会默认创建整型索引:
#通过传递一个numpy array,时间索引以及列标签来创建一个DataFrame:
dates=pd.date_range('20161120',periods=6)
print dates

df1=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
print df1
#通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame:
df2=pd.DataFrame({'A':1.,'B':pd.Series(1,index=list(range(5)),dtype='float32'),'C':pd.Timestamp('20161124'),'D':np.array([3]*5,dtype='int32'),'E':pd.Categorical(['test','train','test','train','test']),'F':'foo'})
print df2

# 查看frame中头部和尾部的行:
print df1.tail(1)

print df1.head(3)

# 显示索引、列和底层的numpy数据:
print df2.index

print df2.columns

print df2.values

# describe()函数对于数据的快速统计汇总:
print df1.describe()

# 对数据的转置:
print df1.T

# 按轴进行排序
print df1.sort_index(axis=1,ascending=False)

# 按值进行排序
print df1.sort(columns='B')

# 选择一个单独的列,这将会返回一个Series,等同于df.A:

print 'df1[A]'+'\n',df1['A']

# 通过[]进行选择,这将会对行进行切片

print 'df1[0:3]'+'\n',df1[0:2],'\n'

# 使用标签来获取一个交叉的区域
print df1.loc[dates[0]],'\n\n'

# 通过标签来在多个轴上进行选择
print df1.loc[dates[0:2],['C','A']]
# pandas使用浮点值NaN(Not a Number)表示浮点和非浮点数组中的缺失数据。
# NA处理办法
dropna 根据各标签值中是否存在缺失数据对轴标签进行过滤,可通过阀值调节对缺失值的容忍度
fillna 用指定的或插值方法(如ffil或bfill)填充缺失数据
isnull 返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值/NA,该对象的类型与源类型一样
notnull isnull的否定式

欢迎关注我的其它发布渠道