查看Dataframe
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_excel("D:\\shujufenxi\\jinrong.xls")
df.head()##读取前五行数据
指标 2015年 2016年 2017年
0 资金来源总计 1541204 1759952 1931934
1 一、各项存款 1357022 1505864 1641044
2 (一)境内存款 1345783 1497169 1630577
3 1.住户存款 546078 597751 643768
4 (1)活期存款 202869 231630 248239
In [3]:
df.tail(5)##去后面五行数据
指标 2015年 2016年 2017年
36 二、债权投资 197636 247604 294382
37 三、股权及其他投资 134326 220820 217589
38 四、黄金占款 2330 2542 2542
39 五、外汇买卖 265859 219425 214788
40 六、在国际金融机构资产 1513 3521 1313
二维数据的索引、列名和数据
df.columns#列名索引
##Index(['指标', '2015年', '2016年', '2017年'], dtype='object')
df.index
##RangeIndex(start=0, stop=41, step=1)##行名变化幅度
df.describe()##描述性统计
##2015年 2016年 2017年
count 4.100000e+01 4.100000e+01 4.100000e+01
mean 3.209699e+05 3.640636e+05 4.020533e+05
std 4.387051e+05 4.937579e+05 5.424745e+05
min 8.230000e+02 1.743000e+03 0.000000e+00
25% 3.445300e+04 3.693500e+04 4.399900e+04
50% 1.745860e+05 2.194250e+05 2.378880e+05
75% 3.432090e+05 3.661210e+05 4.050450e+05
max 1.541204e+06 1.759952e+06 1.931934e+06
Dataframe数据表排序
df.sort_index(axis=1,ascending=False)##对列标签进行排序
df.sort_index(axis=0,ascending=True)##对行标签进行排序(排序时默认升序,调节ascending参数)
df.sort_index(by=“2015年”)##对列2015年的数据进行排序
df.sort_values(by=['2015年','2016年'])##通过多个索引进行排序
数据选择
df["2015年”]
0 1541204
1 1357022
2 1345783
3 546078
4 202869
5 343209
6 430247
7 174586
8 255661
9 241832
10 34453
11 207379
12 127625
13 11239
14 10062
15 63217
16 823
17 110081
18 1541204
19 939540
20 936387
21 270214
22 89006
23 41008
24 47998
25 181208
26 148512
27 32696
28 657633
29 253371
30 344182
31 45756
32 12398
33 1927
34 8539
35 3153
36 197636
37 134326
38 2330
39 265859
40 1513
Name: 2015年, dtype: int64
In [ ]:
##
df[0:3]##使用切片选择0至2行,左闭右开
df.loc[["2016年"],["资金来源总计"]]#同时指定多行与多列进行选择
df.iloc[0:3,0:4]#查询前三行,前四列数据
df.iloc[[0,1,2],[2,3]]#查询指定行,指定列的数据
## 2016年 2017年
0 1759952 1931934
1 1505864 1641044
2 1497169 1630577
df.iloc[0,1]#查询第0行第1列的数据值
df.iloc[2,1]#查询第2行第2列的数据值
df.loc[:,["2015年","2016年"]]
df[df["2017年"],isin([1000,10000])#表示2017年这列,数据值为1000,10000
df[df["2016年"]>1000000]#选取2016年列的数值大于1000000所在的行
#指标 2015年 2016年 2017年
0 资金来源总计 1541204 1759952 1931934
1 一、各项存款 1357022 1505864 1641044
2 (一)境内存款 1345783 1497169 1630577
18 资金运用总计 1541204 1759952 1931934
19 一、各项贷款 939540 1066040 1201321
20 (一)境内贷款 936387 1061667 1196900
数据修改
data.replace(1,5)#把所有1替换为5
data.replace([2,5],[3,4])#把所有2替换为3,5替换为4
data.replace({1:5,"one":ONE})#运用字典进行对应替换
df.iat[0,3]=3#修改指定行,列的数据值
df
# 指标 2015年 2016年 2017年
0 资金来源总计 1541204 1759952 3
1 一、各项存款 1357022 1505864 1641044
2 (一)境内存款 1345783 1497169 1630577
3 1.住户存款 546078 597751 643768
df["2015年"]=-df["2015年"]#对指定的数列取相反数
df