因为是数学专业,最开始深入学习的是MATLAB(下面简称M),感受最深的就是M的简单高效,高精度,不管什么东西,统统放到数组(或者说矩阵)里面,天哪噜,不可思议,和C语言、C++相比,这玩意就是个天生的数据实验室利器。后来用M做了个GUI,在编译成C风格的exe时花了大心血,才发现,原来这厮是个不折不扣的封闭症患者,和其他语言的友好指数基本为0。再后来涉及到版权问题,这才下定决心换个工具——Python。废话少说,快快进入正题,直接上源代码。

这里就先上两种数据类型的基本操作——增删改查。

#-*-coding:GBK-*-
#Series和Dataframe
import pandas as pds
import numpy as np
#序列定义及index
s1=pds.Series([1,2,4,6,7,2])
s2=pds.Series([4,3,1,57,8],index=['a','b','c','d','e'])
obj1=s2.values;print(obj1)
obj2=s2.index;print(obj2)
print(s2[s2>4])
print(s2['b'])
<pre name="code" class="python">#数据框定义
a=pds.DataFrame(np.random.rand(4,5),index=list("ABCD"),columns=list('abcde'))
print(a)#增加列或修改列
a['f']=[1,2,3,4]
a['e']=10
print(a)#增加行或修改行
a.ix['D']=10
S=pds.DataFrame(np.random.rand(4,6),index=list("EFGH"),columns=list('abcdef'))
a=a.append(S)
print(a)#切片
print(a[['b','e']])
print(a.iloc[2:,3:])
print(a.loc['A':'D',['a','c','f']])#减少行或减少列
a=a.drop(['C','D'])
a=a.drop('a',axis=1)
print(a)
#缺失值处理
#缺失值替代
a.iloc[2,3]=None
a.iloc[4,0]=None
print(a)
a=a.fillna(5)
print(a)
#缺失值去行
a.iloc[2,3]=None
a.iloc[4,0]=None
a=a.dropna()
print(a)
#读取excel,适当改动后,保存到excel     (help(pandas.***)查看相关帮助)
<span style="font-family: Arial, Helvetica, sans-serif;"></pre><pre name="code" class="python"><pre name="code" class="html">e1=pds.read_excel('test.xlsx',sheetname='Sheet1')</span>
e1.columns=['class','no','name','sex','dormitory','phonenumber']
print(e1)
print(e1.ix[2])
print(e1['class'])
print(e1.sex)e2=pds.read_excel('test_copy.xlsx',sheetname='Sheet1',names='table1',header=None)
e2.columns=['a','b','c','d']
print(e2)
a=numpy.array(e2)#a=e2.valuese2['e']=pds.Series([0,-2,3,4],index=[1,3,4,5])
e2['f']=np.linspace(1,20,5)
e2['g']=e2['f']>=10
e2.ix[4]=[1,2,3,4,5,6,'False']
print(e2)
ss=e2.ix[4]
e2=e2.append(ss,ignore_index=False)
print(e2)
e2=e2.drop('a',axis=1)
e2=e2.drop(1)
print(e2)
e2=e2.fillna(value=5)
print(e2)e2.to_excel('test_write.xlsx',header=False,index=False)

因为用的是Anaconda的库,所以避免了安装时的麻烦,但在安装其他的包时出现了下载速度极其极其不友好时,发现了一个好办法,就是采用清华的一个映像网站

打开cmd,进入conda所在目录下,增加来源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

再安装相应的包就可以了,比如这里应该安装:

conda install pandas.

Game Over!

Python_pandas 两种主要的数据类型(Series、DataFrame)相关推荐

  1. spark sql hbase java_Spark 读写 HBase 的两种方式(RDD、DataFrame)

    使用 saveAsHadoopDataset 写入数据 import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, Ta ...

  2. pandas的两种数据类型:Series和DataFrame

    首先要明确pandas是做什么的,在确定是如何做的,通过哪些方式去做的? pandas是做什么的? Python Data Analysis Library 或 pandas 是基于NumPy 的一种 ...

  3. dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...

    一.为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类 ...

  4. Python的数据科学函数包(二)——pandas(series dataframe)(loc iloc ix)(csv文件)

    pandas 1.pandas数据的存储相对来说比较简单,它就只有两种非常重要的数据类型,一种叫series,一种叫dataframe series是指那些一维的数据,dataframe是指那些二维的 ...

  5. Pandas简明教程(一):Series数据类型、DataFrame数据类型

    一.Pandas概述 1.1 简介 Pandas是Python生态中非常重要的数据分析包,它是一个开源的库,采用BSD开源协议. Pandas是基于NumPy构建的数据分析包,但它含有比ndarray ...

  6. SQL Server 日期和时间相关的数据类型有两种

    SQL Server 日期和时间相关的数据类型有两种: DateTime和SmallDateTime. DateTime: 需要8个字节,前4个字节用1900年1月1日以后的天数表示日期,后4个字节表 ...

  7. 实验long raw 和 blob两种数据类型遇到dblink的表现

    首先long raw从Oracle 10g开始就不再被建议使用,建议用blob代替.同理,long建议用clob代替. 本文从运维角度实验long raw 和 blob两种数据类型在遇到dblink时 ...

  8. Qt信号与槽传递自定义数据类型——两种解决方法

    Qt信号与槽传递自定义数据类型--两种解决方法 参考文章: (1)Qt信号与槽传递自定义数据类型--两种解决方法 (2)https://www.cnblogs.com/tid-think/p/9300 ...

  9. mysql添加两种数据类型_MySQL入门(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...

最新文章

  1. (C++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。
  2. 【dfs】P1036 选数
  3. 最近为一个培训公司做的配置
  4. 批处理ping指定ip列表
  5. django-自定义转换器-实操案例
  6. 思必驰AI芯片发布:内置完整语音交互方案,支持离线模式,All in One
  7. http接口_基于Python的HTTP接口自动化测试框架实现
  8. 软件无线电的发展与展望
  9. 数据库, 数据仓库, 数据集市,数据湖,数据中台
  10. 百度(高德、GG歌)离线地图开发环境搭建【离线地图开发源代码】
  11. matlab latex 中文字体,LaTeX - 设置中文字体
  12. ··· Socks Online - 在内部网也能使用QQ ···
  13. Eureka自我保护机制原理及作用enable-self-preservation
  14. 全球首发,国产开源「文本-视频生成」模型!免费在线体验,一键实现视频生成自由...
  15. 解决问题:xshell6评估已过期
  16. Mysql中事务是什么?有什么用?
  17. 这一年来在疫情下,作为沪漂的生活
  18. java下cmyk图片读取和转换rgb
  19. 梦幻西游手游服务器维护时间,梦幻西游手游5.11维护公告
  20. /etc/profile文件简单介绍

热门文章

  1. 14 SD配置-企业结构-分配-分配销售组织-分销渠道-工厂
  2. 5.1.8 DELETE删除数据
  3. linux suse 安装redis,suse 安装redis(示例代码)
  4. OpenGL入门-3-绘制多边形
  5. transformer中patch与token?
  6. 为什么通常在类的init函数下一行写super().__init__()?==>就是执行父类的构造函数,使得我们能够调用父类的属性
  7. 理解CNN中的特征图 feature map
  8. ExtJS4之helloworld
  9. [Matlab] PDETool 的 Set Formula 的元素排列顺序会影响 Boundary 的判定
  10. 如何关闭rsyslog服务?_Linux日志服务器设置过程