返回顶部
首页 > 资讯 > 后端开发 > Python >pandas(一)
  • 669
分享到

pandas(一)

pandas 2023-01-31 00:01:54 669人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

import numpy as py  import pandas as pd   Series对象 data= pd.Series([0.25,0.5,0.75,1.0])   默认索引是数字 data=pd.Series([0.25,

import numpy as py 

import pandas as pd

 

Series对象

data= pd.Series([0.25,0.5,0.75,1.0])   默认索引是数字

data=pd.Series([0.25,0.5,0.75,1.0],index=['a','b','c','d'])   用字符串定义索引,也可以用不连续的索引

data['b']   

data['a':'c']  支持切片操作

 

pd.Series(data,index=index)

 

data可以是列表或numpy数组

pd.Series([2,4,6])

也可以是标量,创建时会重复填充到每个索引上

pd.Series([5,index=[100,200,300])

也可以是字典,index默认是字典的键

pd.Series({2:'a',3:'b'})

 

series的字典式映射方法

 data=pd.Series([0.25,0.5,0.75,1.0],

        index=['a','b','c','d'

      )

判断data中是否有a索引

'a' in data

获取data索引

data.keys()

获取所有数据

list(data.items())

增加新索引

data['e']=10.25

切片:

  显示索引做切片,包含最后一个值

  data['a':'c']

  隐式整数索引做切片,不包含年最后一个值

  data[0:2]

掩码:

  data[(data>0.3) & (data<0.7)]

花哨索引:

  data[['a,'e']]

 

索引器:为了防止series为整数索引是,取值为显式索引,切片为隐式索引而混淆

 

  loc:表示取值和切片都是显式

  data=pd.Series(['a','b','c'],index=[1,3,5])

  data.loc[1]

  data.loc[1:3]

 

  iloc:表示取值和切片都是隐式

  data.iloc[1]

  data.iloc[0:2]

 

 

  

 

 

 

DataFrame对象

通过字典列表创建

  data=[{'a':i,'b':2*i} for i in range(3)]

  x=pd.DataFrame(data)

通过series对象创建

  pd.DataFrame({'data':data,'age':[1,2,3,4]) 

*注意此处data是前面series创建好的有索引的对象

通过numpy创建

pd.DataFrame(np.random.rand(3,2),

      columns=['name','age'],

      index=['a','b','c']

      )

x.index获取行索引标签,x.columns获取列索引标签

 

pandas 的index对象

创建对象

ind=pd.Index([2,5,6,7,11])

切片,索引

ind[1],ind[::2]

inda=pd.Index([1,3,5,7,9])

indb=pd.Index([2,3,5,7,11])

交集

inda & indb 

并集

inda | indb

异或

inda ^ indb

 

DataFrame数据选择方法

 

name = pd.Series({'a':'xi','b':'lin','c':'saber'})

age = pd.Series({'a':18,'b':20,'c':'18'})

data = pd.DataFrame({'name':name,'age':age})

 

data['name'] 等价于data.name,推荐前者

data.values  查看数组数据

data.values[0] 查看第一行数据

data.T 转置

 

loc,iloc与series对象中的用法相同

data.loc[:'lin',:'age']

data.iloc[:3,:2]

ix混合使用,不常用

data.ix[:3,:'age']

与掩码和花哨索引结合使用

data.loc[data.age>18,['name','age']]

更新数据

data[0,1]= 20

numpy通用函数pandas也适用

 

当用两个series对象创建dataframe对象时,会取两个对象的并集,没有的用nan代替

两个dataframe运算时也适用

也可以自定义缺失值

a=pd.DataFrame(np.random.randint(0,20,(2,2)),

        columns=list('ab'))

b=pd.DataFrame(np.random.randint(0,10,(3,3)),

        columns=list('bca'))

fill = a.stack().mean()

a.add(b,fill_value=fill)   a的缺失值用fill填充

 

缺失值处理:

  常用标签nan(not a number)

  val = np.array([1,np.nan,3,4])

  val.sum,max,min  会将nan的影响算进去

  np.nansum(val) ,nanmax,nanmin 忽略nan的影响

  

  data= pd.Series([1,np.nan,'hello',None])

  发现缺失值:

  data.isnull()   

  data[data.notnull()]     

  剔除缺失值:

  data.dropna()

  df = pd.DataFrame([[1,np.nan,2],

           [2,3,5],

           [np.nan,4,6]])

  df.dropna()    删除含有缺失值的整行数据   ,axis=1或axis='columns' 删除整列数据

  df[3] = np.nan

  df.dropna(axis='columns',how='all)   all表示删除全是缺失值的那行,any表示有缺失值就删除

  df.dropna(axis='row',thresh=3)  表示最少含有3个非缺失值的行才会被保留

 

  填充缺失值:

  data=pd.Series([1,np.nan,2,None,3],index=list('avcde'))

  data.fillna(0)  缺失值用0填充

  data.fillna(method='ffill')  用缺失值前面的有效值填充,bfill用后面的有效值填充

  data.fillna(method='ffill',axis=1)  每行的前面有效值填充

  如果缺失值前面没有值,那么仍然是缺失值

  

  

  

 

--结束END--

本文标题: pandas(一)

本文链接: https://lsjlt.com/news/181679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pandas(一)
    import numpy as py  import pandas as pd   Series对象 data= pd.Series([0.25,0.5,0.75,1.0])   默认索引是数字 data=pd.Series([0.25,...
    99+
    2023-01-31
    pandas
  • pandas 使用insert插入一列
    把value插入dataframe的指定位置loc中,若插入的数据value已在DataFrame中,则返回 错误ValueError,如想完成重复值的插入需要把allow_dupl...
    99+
    2024-04-02
  • pandas怎么删除某一列
    pandas可以通过使用drop方法和使用del操作符来删除某一列。详细介绍:1、使用drop方法,创建一个示例DataFrame,确定要删除的列名称;2、使用del操作符,确定要删除的列,使用del操作符删除列即可。本教程操作系统:win...
    99+
    2023-12-09
    Pandas python
  • 看一篇,学一篇,今日份的pandas,你
    开篇先嘚啵 昨天写到哪了? 睡醒就忘了... ... 不过聪明伶俐的博主,仅用1秒钟就想起来了 我们昨天学了一个pandas的类型series 并且会创建了,厉不厉害 对于一个新的数据结构来说 额,不对,对于python任意的数据结构来...
    99+
    2023-01-31
    今日 pandas
  • 第十一节:pandas统计函数
    1、pct_change()计算增长比例 2、cov()协方差 3、corr()相关系数 4、rank()数据排名 5、numpy聚合函数   ...
    99+
    2023-01-30
    函数 第十一节 pandas
  • pandas如何根据一列对另一列赋值
    在pandas中,可以使用df.loc或df.iloc来根据一列的值给另一列赋值。以下是示例代码:pythonimport pand...
    99+
    2023-10-18
    pandas
  • pandas归一化与反归一化操作实现
    import numpy as np import pandas as pd import matplotlib.pylab as plt if __name__ == '__m...
    99+
    2023-01-28
    pandas归一化 pandas反归一化
  • 一文教你向Pandas DataFrame添加行
    目录引言示例1:向PandasDataFrame添加一行示例2:向PandasDataFrame添加几行总结引言 您可以使用df.loc()函数在Pandas DataFrame的末...
    99+
    2024-04-02
  • pandas实现一行拆分成多行
    目录一行拆分成多行1.根据某一列拆分2.根据多列拆分一行转多行、多行转一行1.测试数据2.一行转多行3.多行转一行一行拆分成多行 1.根据某一列拆分 效果: 代码: if __n...
    99+
    2024-04-02
  • pandas如何使用insert插入一列
    这篇文章将为大家详细讲解有关pandas如何使用insert插入一列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。把value插入dataframe的指定位置loc中,若插入的数据value已在DataF...
    99+
    2023-06-14
  • Pandas DataFrame如何添加一行数据?
    在Pandas DataFrame中,我们经常需要添加新的行数据。这里介绍几种向DataFrame中添加一行数据的方法。 1. 使用.loc索引器 .loc索引器可以在DataFrame的尾部添加一条新行数据,语法如下: df.loc[le...
    99+
    2023-09-02
    pandas python 数据分析
  • pandas怎么替换某一列数据
    要替换某一列数据,可以使用loc方法来选择该列并赋值。下面是一个示例代码: 假设有一个DataFrame df,其中有一列名为col...
    99+
    2024-04-02
  • 一文教会你pandas plot各种绘图
    目录一、介绍1.1 参数介绍1.2 其他常用说明二、举例说明2.1 折线图 line2.2 条型图 bar2.3 直方图 hist2.4 箱型图 box2.5 区域图 area2.6...
    99+
    2024-04-02
  • 怎么创建一个pandas多层索引
    这篇文章将为大家详细讲解有关怎么创建一个pandas多层索引,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。多层索引的创建普通-多个index创建在创建数据的时候加入一个index列表,这个i...
    99+
    2023-06-07
  • 一文搞懂Python中Pandas数据合并
    目录1.concat()主要参数示例2.merge()参数示例3.append()参数示例4.join()示例数据合并是数据处理过程中的必经环节,pandas作为数据分析的...
    99+
    2024-04-02
  • pandas怎么统计某一列或某一行的缺失值
    本篇内容主要讲解“pandas怎么统计某一列或某一行的缺失值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pandas怎么统计某一列或某一行的缺失值”吧!统计某一列或某一行的缺失值数目1.使用i...
    99+
    2023-06-30
  • Pandas多列值合并成一列的实现
    在平时的需求开发中涉及到将多列值合并为一列值的操作,通过查阅相关资料特此记录以下方法,方便日后学习复盘  import pandas as pd import numpy ...
    99+
    2024-04-02
  • Pandas:如何修改DataFrame中某一列的值?
    写这篇博客主要是因为在修改DataFrame列值的时候经常遇到bug,但到目前还没把这种错误复现出来。   DataFrame是Pandas中的主要数据结构之一,本篇博客主要介绍如何DataFr...
    99+
    2023-09-01
    pandas python 数据分析
  • 使用Pandas修改DataFrame中某一列的值
    目录1 常规方法2. replace方法补充:DataFrame修改某一行某一列的值[坑点]总结 写这篇博客主要是因为在修改DataFrame列值的时候经常遇到bug,但到...
    99+
    2022-12-22
    修改dataframe中的某一个值 python 修改dataframe中某个值 pandas 修改某列数据
  • pandas(三)
    合并数据集:   创建一个能创建dataframe的函数   def make_data(cols,ind):     data={c:[strc(c)+str(i) for i in ind]        for c in cols}...
    99+
    2023-01-31
    pandas
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作