pandas数据结构练习题(部分)
更多函数查阅http://pandas.pydata.org/pandas-docs/stable/10min.html
import pandas as pd
#两种数据结构
from pandas import Series,DataFrame #Series由一组数据和一组索引组成
# obj=Series([2,3,5,7,3,1])
# print(obj) #建立Series的时候指定索引
# obj2=Series([1,2,3,4,5],index=['a','b','c','d','e'])
# # print(obj2)
# print(obj2['a'])#指定索引输出
# print(obj2[['a','d']])#指定多个索引输出
# print('a' in obj2)#判断索引'a'是否在Series中,输出值为bool类型
# obj2.name='wolawola'#设置name属性
# print(obj2.name)#输出name属性
# print(obj2.index.name)#输出索引的name属性 #字典数据类型创建Series
# data={'a':1000,'b':2000,'c':3000,'d':4000}
# s=Series(data)
# print(s) #Series进行运算
# data={'a':1000,'b':2000,'c':3000,'d':4000}
# s=Series(data)
# print(s*2) #关系映射,返回值是bool类型
# data={'a':1000,'b':2000,'c':3000,'d':4000}
# s=Series(data)
# print('a' in s) #分别创建index和value创建Series
# dt=[1,2,3,4,5]
# id=['a','b','c','d','e','f']
# data=Series(dt,index=id)
# print(data) #判断是否为空值
# data={'a':1000,'b':2000,'c':3000,'d':4000}
# s=Series(data)
# print(s.isnull) #----------------------------------------------------
#DataFrame #字典数据类型创建DataFrame
# data={'state':['a','b','c','d'],
# 'year':[1991,1992,1993,1994],
# 'pop':[6,7,8,9]}
# frame=DataFrame(data)
# frame=DataFrame(data,columns=['year','state','pop','age'])#没有age,传入NaN值
# print(frame)
# # print(frame['year'])#输出年份
# # print(frame.state)
# print(frame.columns)#输出列名
# frame['age']=np.arange(4)#给age属性增加值
# print(frame) #嵌套字典:外层的键作为列,内层的键作为行索引
# pop={'a':{1:1000,2:2000},
# 'b':{1:5000,3:3000,4:4000},
# }
# frame=DataFrame(pop)
# print(frame)
# print(frame.T)#转置 #索引对象是不可以修改的,以下报错immutable
# obj=Series(range(3),index=['a','b','c'])
# obj.index[1]='d'
# print(obj.index) #reindex:重新索引,若值缺失则引入缺失值
# obj=Series([23,4.5,-8,100],index=['b','c','a','d'])
# print(obj)
# reind=obj.reindex(['a','b','c','d','e'])
# print(reind) #向前填充索引,从index=0开始,遇到index=3时将值变为4.5
#range()中的值是填充的范围,即索引的取值区间
# obj=Series([23,4.5,-8],index=[0,3,5])
# reind=obj.reindex(range(9),method='ffill')#ffill或pad:向前填充,bfill或backfill向后填充
# print(reind) #修改行索引,列,或者两个都修改,则会重新索引
# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
# print(frame)
# fr=frame.reindex(['a','b','c','d'])
# print(fr) #drop:丢弃制定轴上的项
# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
# new_frame=frame.drop('a')
# new_frame2=frame.drop('no.1',axis=1)
# print(new_frame)
# print(new_frame2) #DataFrame和bool一起使用
# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
# print(frame>3) #ix在DataFrame中
# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
# f2=frame.ix['a','no.1']#两个参数,第一个是行,第二个是列
# print(frame)
# print(f2)
#数据对齐# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'])# frame2=DataFrame(np.arange(16).reshape([4,4]),index=['a','b','c','d'])# print(frame+frame2)#重新索引frame,用frame2的列,所以会有空值,空值填0# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'])# frame2=DataFrame(np.arange(16).reshape([4,4]),index=['a','b','c','d'])# f=frame.reindex(columns=frame2.columns,fill_value=0)# print(f)#索引排序# frame=DataFrame(np.arange(8).reshape([2,4]),index=['three','one'],columns=['a','d','c','b'])# print(frame)# f1=frame.sort_index()# print(f1)# f2=frame.sort_index(axis=1)# print(f2)#Seriex ranking# s=Series([3,6,1,5,-1])# print(s.rank())#返回名次,从小到大# print(s.rank(ascending=False))#降序#DataFormat ranking# frame=DataFrame({'b':[2.5,1.6,9.0],'a':[4,7,5.7],'c':[2,9,7]})# print(frame)# f1=frame.rank(axis=1)# print(f1)#DataFrame和Series之间的运算:每行依次相减# arr=np.arange(12).reshape([3,4])# rs=arr-arr[0]# print(rs)#DataFrame和Series之间算术运算会将Series的索引匹配到DataFrame的列,然后沿着行一直向下广播#describe# obj=Series(['a','b','c','d'])# print(obj)# print(obj.describe())#切分行和列# arr=np.arange(12).reshape([3,4])# df=DataFrame(arr,index=['a','b','c'],columns=['no.1','no.2','no.3','no.4'])# print(df)# print(df.iloc[1:3,2:4])#切分[1:3)行,[2:4)列
pandas数据结构练习题(部分)的更多相关文章
- 【UOJ#228】基础数据结构练习题 线段树
#228. 基础数据结构练习题 题目链接:http://uoj.ac/problem/228 Solution 这题由于有区间+操作,所以和花神还是不一样的. 花神那道题,我们可以考虑每个数最多开根几 ...
- pandas教程1:pandas数据结构入门
pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...
- uoj #228. 基础数据结构练习题 线段树
#228. 基础数据结构练习题 统计 描述 提交 自定义测试 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的 ...
- 【UOJ228】基础数据结构练习题(线段树)
[UOJ228]基础数据结构练习题(线段树) 题面 UOJ 题解 我们来看看怎么开根? 如果区间所有值都相等怎么办? 显然可以直接开根 如果\(max-sqrt(max)=min-sqrt(min)\ ...
- Pandas数据结构
Pandas处理以下三个数据结构 - 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构构建在Numpy数组之上,这意味着它们很快. 维数和描述 考虑这些数据结构的最 ...
- 【线段树】uoj#228. 基础数据结构练习题
get到了标记永久化 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的好朋友九条可怜酱给她出了一道题. 给出一 ...
- python之pandas学习笔记-pandas数据结构
pandas数据结构 pandas处理3种数据结构,它们建立在numpy数组之上,所以运行速度很快: 1.系列(Series) 2.数据帧(DataFrame) 3.面板(Panel) 关系: 数据结 ...
- 读书笔记一、pandas数据结构介绍
pandas数据结构介绍 主要两种数据结构:Series和DataFrame. Series Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...
- 初探pandas——安装和了解pandas数据结构
安装pandas 通过python pip安装pandas pip install pandas pandas数据结构 pandas常用数据结构包括:Series和DataFrame Series S ...
随机推荐
- CentOS 7安装squid代理服务器
Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...
- JQuery实现banner图滚动
前 言 jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数.很多时候我们使用jQuery的原因就是因为其使用插件的功能,然而,有时候我们还是 ...
- 【NOIP2016提高组day2】蚯蚓
那么我们开三个不上升队列, 第一个记录原来的蚯蚓, 第二个记录乘以p的蚯蚓 第三个记录乘以(1-p)的蚯蚓, 在记录每条就要入队列的时间,就可以求出增加的长度 每次比较三个队列的队首,取最大的值x的切 ...
- BZOJ-1010-[HNOI2008]玩具装箱toy(斜率优化)
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...
- ubuntu系统如何屏幕截图
我们知道,windows下有很多截图的软件和插件,那么在ubuntu系统下我们该怎样截图呢? 下面就让小编来告诉你几种简单的方法吧. 工具/原料 ubuntu系统电脑 方法一: 1.也许很多朋友都知道 ...
- HDU1411 欧拉四面体
用向量解决: 三角形面积:S=1/2*|x1*y2-x2*y1|; (粗体表示向量) 三棱锥体积:V=1/6*(OA*OB)*OC 不知道哪里去找的代码,毕竟很线性代数矩阵什么的很头疼,晚上 ...
- 使用Entify Framework 6.x的事务操作
public void TransactionsTest() { using (var context = new testContext()) { //使用EF事务 在vs2013中先升级Entit ...
- 2017值得一瞥的JavaScript相关技术趋势
2017值得一瞥的JavaScript相关技术趋势从属于笔者的Web 前端入门与工程实践,推荐阅读2016-我的前端之路:工具化与工程化获得更多关于2016年前端总结.本文主要内容翻译自,笔者对于每个 ...
- win10 uwp 改变鼠标
经常在应用需要修改光标,显示点击.显示输入,但是有些元素不是系统的,那么如何设置鼠标? 本文主要:UWP 设置光标,UWP 移动鼠标 设置光标 需要写一点代码来让程序比较容易看到,什么光标对于什么. ...
- 三种方式设置特定设备UWP XAML view
开发者可以设置UWP特定设备xaml view,在桌面,手机,Iot,这个对于设置对不同设备的不同屏幕有用.我们可以使用RelativePanel,VisualStateTriggers,但是这样我们 ...