pandas_numpy小尝试

首次使用Jupyter notebook 来做笔记,先试验一下~

print('hello,word')
hello,word

开始把前几天学过的pandas 和numpy两个包小试一下~

import pandas as pd
import numpy as np

使用pandas下的数据框展示数据

gdp = pd.DataFrame([[11.61,13.08,13.67,15.05],[12.81,14.30,15.07,16.62],[13.87,15.52,16.35,17.87],[14.80,16.62,17.36,18.94]],index = ['2012','2013','2014','2015'],columns = ['s1','s2','s3','s4'])
gdp
s1s2s3s4
201211.6113.0813.6715.05
201312.8114.3015.0716.62
201413.8715.5216.3517.87
201514.8016.6217.3618.94
#默认对列求和
gdp1 = gdp.sum()
gdp1
s1    53.09
s2    59.52
s3    62.45
s4    68.48
dtype: float64
#对行求和
gdp2 = gdp.sum(axis = 1)
gdp2
2012    53.41
2013    58.80
2014    63.61
2015    67.72
dtype: float64
#按行累积加总
gdp3 = gdp.cumsum(axis = 1)
gdp3
s1s2s3s4
201211.6124.6938.3653.41
201312.8127.1142.1858.80
201413.8729.3945.7463.61
201514.8031.4248.7867.72
df=pd.DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75, -1.3]], index=['a', 'b', 'c', 'd'], columns=['one', 'two'])
#有缺失值时将不进行加总
df1 = df.sum(axis = 1,skipna = False)
df1
a     NaN
b    2.60
c     NaN
d   -0.55
dtype: float64
gdp.describe()#简单的描述性统计
s1s2s3s4
count4.0000004.0000004.0000004.000000
mean13.27250014.88000015.61250017.120000
std1.3745391.5290081.5984651.674296
min11.61000013.08000013.67000015.050000
25%12.51000013.99500014.72000016.227500
50%13.34000014.91000015.71000017.245000
75%14.10250015.79500016.60250018.137500
max14.80000016.62000017.36000018.940000
gdp.count()#非空值的数量
s1    4
s2    4
s3    4
s4    4
dtype: int64
gdp.corr()#行相关系数
s1s2s3s4
s11.0000000.9993580.9998200.999514
s20.9993581.0000000.9988540.997756
s30.9998200.9988541.0000000.999612
s40.9995140.9977560.9996121.000000
gdp.T.corr()#列相关系数
2012201320142015
20121.0000000.9991390.9993880.999731
20130.9991391.0000000.9994280.998434
20140.9993880.9994281.0000000.999457
20150.9997310.9984340.9994571.000000

缺失值处理:一、丢弃,二、填充

一行中只要有一个格缺失,这行就要丢弃
df2 = df.dropna()
填充缺失值
df4 = pd.DataFrame([[1,np.nan],[7,4],[np.nan,np.nan],[1,3]],index=['a', 'b', 'c', 'd'], columns=['one', 'two'])
df6 = df4.fillna('a')#缺失值处全部填充为括号内的值
df7 = df4.fillna(method = 'bfill')#向后填充,会出现漏值现象
df8 = df4.fillna(method = 'ffill')#向前填充,会出现漏值现象
print(df6,'\n',df7,'\n',df8)

结果如下
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

有两层索引,国家和年份的一维数组

有两层索引,国家和年份
选取中国
在这里插入图片描述
选取2015年所有国家
在这里插入图片描述
选取中国和日本所有年份
在这里插入图片描述

自定义变量名

wp  = pd.DataFrame(worldPop,columns  = ['population'])

在这里插入图片描述
给索引命名

wp1 = wp.index.names = ['country','year']
print(wp)

在这里插入图片描述

wp2 = wp.swaplevel('year' ,'country')#调换索引位置
wp3 = wp.reset_index(['year'])#将索引变成列变量
wp4 = wp3.set_index(['year'])#将变量变成索引

调换索引位置
在这里插入图片描述
将索引变成列变量
在这里插入图片描述
将变量变成索引
在这里插入图片描述
将变量变成索引的方法即将一维数组转换成了字典类型?
在这里插入图片描述
表明其实pandas的数据结构的一种,其中pandas有两种数据结构,分别是Series,Series可以简单地被认为是一维的数组。Series和一维数组最主要的区别在于Series类型具有索引(index),另一种即数据框DataFrame是将数个Series按列合并而成的二维数据结构。

用pandas 的.unstack()做数据透视表

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值