《利用python进行数据分析》第五章Pandas包重难点

1、数据结构介绍

字典传入DataFrame:如果嵌套字典被赋值给DataFrame,它会将字典的键作为列,内部字典的键作为索引

pop = {'Nevada':{2001:2.4, 2002:2.9},
      'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}
frame = pd.DataFrame(pop)
frame

输出
在这里插入图片描述
同时,可以将使用类似Numpy语法对DataFrame进行转置操作(调换行和列)

frame.T

输出
在这里插入图片描述
python索引对象可以包含重复标签,与集合不同

labels = pd.Index(['foo','foo','bar','bar'])
labels

输出Index(['foo', 'foo', 'bar', 'bar'], dtype='object')

2、基本功能

如果你想重新排序索引,可以使用reindex,它是创建一个符合新索引的新对象,还可以同时改变行索引与列索引。

frame2 = frame.reindex([2000,2001,2002])
frame2

输出
在这里插入图片描述
改变列索引:

frame.reindex(columns=['Ohio','Nevada'])

输出
在这里插入图片描述
很多函数,例如drop,会修改series,DataFrame的尺寸或形状,这些方法直接操作原对象而不返回新对象,如果使用inplace属性,它会在原数据基础上清除被删除的数据。

frame.drop(2001,axis=0,inplace=True)
frame

输出
在这里插入图片描述
pandas的loc与iloc区别,前者可以使用轴标签、整数标签,后者只能使用整数标签。

import numpy as np
data = pd.DataFrame(np.arange(16).reshape(4,4),
                   index=['Ohio', 'Colorado', 'Utah', 'NewYork'],
                   columns=['one','two','three','four'])
data.loc[:'Utah', 'two']

输出
在这里插入图片描述
对于iloc:

data.iloc[:,:3][data['three']>5]

输出
在这里插入图片描述
当轴标签在一个对象中存在,在另一个对象中不存在时,并且你想将轴标签少的对象的缺失值填充为0时。

df1 = pd.DataFrame(np.arange(12.).reshape(3,4),
                  columns=list('abcd'))
df2 = pd.DataFrame(np.arange(20.).reshape(4,5),
                  columns=list('abcde'))
df1+df2#如果直接相加是不行的

如果直接相加,则结果如下:
在这里插入图片描述
想解决这种问题,可以对df1采用add方法

df1.add(df2, fill_value=0)
#sub减法,div除法,floordiv整除,mul乘法,pow幂次方

输出
在这里插入图片描述
如果想要针对某一或全部索引排序可以使用sort_values

frame4 = pd.DataFrame({'b':[4,7,-3,2], 'a':[0,1,0,-1]})
frame4.sort_values(by='b')

输出
在这里插入图片描述
对于rank函数的应用,我查找到了CSDN博主「justinlonger」写的文章,我感觉他分析的比书上讲的详细,原文链接:https://blog.csdn.net/justinlonger/article/details/90646111

value_counts用法

data1 = pd.DataFrame({'Qu1':[1,3,4,3,4],
                     'Qu2':[2,3,1,2,3],
                     'Qu3':[1,5,2,4,4]})
result = data1.apply(pd.value_counts).fillna(0)
result

输出
在这里插入图片描述
结果中的行标签是所有列中出现的不同值,数值则是这些不同值在每个列中出现的次数

以上是我对于第五章的Pandas包入门认为重要的知识点总结,希望以后这篇博客对自己以及对你有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值