返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的DataFrame模块学
  • 861
分享到

Python中的DataFrame模块学

模块PythonDataFrame 2023-01-31 04:01:21 861人浏览 八月长安

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

摘要

  本文是基于windows系统环境,学习和测试DataFrame模块:  Windows 10  PyCharm 2018.3.5 for Windows (exe)  python 3.6.8 Windows x86 executabl

  本文是基于windows系统环境,学习测试DataFrame模块:

  Windows 10

  PyCharm 2018.3.5 for Windows (exe)

  python 3.6.8 Windows x86 executable installer

  1. 初始化DataFrame

  创建一个空的DataFrame变量

  import pandas as pd

  import numpy as np

  data = pd.DataFrame()

  print(np.shape(data)) # (0,0)

  通过字典创建一个DataFrame

  import pandas as pd

  import numpy as np

  dict_a = {'name': ['xu', 'wang'], 'gender': ['male', 'female']}

  data = pd.DataFrame(dict_a)

  print(np.shape(data)) # (2,2)

  print(data)

  # data =

  # name gender

  # 0 xu male

  # 1 wang female

  通过numpy.array创建一个DataFrame

  import pandas as pd

  import numpy as np

  mat = np.random.randn(3,4)

  df = pd.DataFrame(mat)

  df.columns = ['a','b','c','d']

  print(df)

  一个DataFrame转成numpy.array

  import pandas as pd

  import numpy as np

  mat = np.random.randn(3,4)

  df = pd.DataFrame(mat)

  df.columns = ['a','b','c','d']

  print(df)

  n = np.array(df)

  print(n)

  DataFrame增加一列数据

  import pandas as pd

  import numpy as np

  data = pd.DataFrame()

  data['ID'] = range(0,10)

  print(np.shape(data)) # (10,1)

  DataFrame增加一列数据,且值相同

  import pandas as pd

  import numpy as np

  dict_a = {'name': ['xu', 'wang'], 'gender': ['male', 'female']}

  data = pd.DataFrame(dict_a)

  data['country'] = 'China'

  print(data)

  # data =

  # name gender country

  # 0 xu male China

  # 1 wang female China

  DataFrame删除重复的数据行

  import pandas as pd

  norepeat_df = df.drop_duplicates(subset=['A_ID', 'B_ID'], keep='first')

  # norepeat_df = df.drop_duplicates(subset=[1, 2], keep='first')

  # keep=False时,就是去掉所有的重复行

  # keep=‘first'时,就是保留第一次出现的重复行

  # keep='last'时就是保留最后一次出现的重复行。

  2. 基本操作

  去除某一列两端的指定字符

  import pandas as pd

  dict_a = {'name': ['.xu', 'wang'], 'gender': ['male', 'female.']}

  data = pd.DataFrame(dict_a)

  print(data)

  # data =

  # name gender

  # 0 .xu male

  # 1 wang female.

  data['name'] = data['name'].str.strip('.') # 删除'.'

  # data['name'] = data['name'].str.strip() # 删除空格

  print(data)

  # data =

  # name gender

  # 0 xu male

  # 1 wang female.

  重新调整index的值

  import pandas as pd

  data = pd.DataFrame()

  data['ID'] = range(0,3)

  # data =

  # ID

  # 0 0

  # 1 1

  # 2 2

  data.index = range(1,len(data) + 1)

  # data =

  # ID

  # 1 0

  # 2 1

  # 3 2

  调整DataFrame列顺序

  import pandas as pd

  data = pd.DataFrame()

  print(data)

  # data =

  # ID name

  # 0 0 xu

  # 1 1 wang

  # 2 2 li

  data = data[['name','ID']]

  # data =

  # name ID

  # 0 xu 0

  # 1 wang 1

  # 2 li 2无锡人流医院 Http://www.bhnfkyy.com/

  获取DataFrame的列名

  import pandas as pd

  data = pd.DataFrame()

  print(data)

  # data =

  # ID name

  # 0 0 xu

  # 1 1 wang

  # 2 2 li

  print(data.columns.values.tolist())

  # ['ID', 'name']

  获取DataFrame的行名

  import pandas as pd

  data = pd.DataFrame()

  print(data)

  # data =

  # ID name

  # 0 0 xu

  # 1 1 wang

  # 2 2 li

  print(data._stat_axis.values.tolist())

  # [0, 1, 2]

  3. 读写操作

  将csv文件读入DataFrame数据

  read_csv()函数的参数配置参考官网pandas.read_csv

  import pandas as pd

  data = pd.read_csv('user.csv')

  print (data)

  将DataFrame数据写入csv文件

  to_csv()函数的参数配置参考官网pandas.DataFrame.to_csv

  import pandas as pd

  data = pd.read_csv('test1.csv')

  data.to_csv("test2.csv",index=False, header=True)

  4. 异常处理

  过滤所有包含NaN的行

  dropna()函数的参数配置参考官网pandas.DataFrame.dropna

  from numpy import nan as NaN

  import pandas as pd

  data = pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])

  print (data)

  # data =

  # 1 2 3

  # NaN NaN 2

  # NaN NaN NaN

  # 8 8 NaN

  data = data.dropna()

  # DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

  # axis: 0 or 'index'表示去除行 1 or 'columns'表示去除列

  # how: 'any'表示行或列只要含有NaN就去除,'all'表示行或列全都含有NaN才去除

  # thresh: 整数n,表示每行或列中至少有n个元素补位NaN,否则去除

  # subset: ['name', 'gender'] 在子集中去除NaN值,子集也可以index,但是要配合axis=1

  # inplace: 如何为True,则执行操作,然后返回None

  print(data)

  # data =

  # 1 2 3


--结束END--

本文标题: Python中的DataFrame模块学

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

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

猜你喜欢
  • Python中的DataFrame模块学
      本文是基于Windows系统环境,学习和测试DataFrame模块:  Windows 10  PyCharm 2018.3.5 for Windows (exe)  python 3.6.8 Windows x86 executabl...
    99+
    2023-01-31
    模块 Python DataFrame
  • python模块学习----nmap模块
    安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理...
    99+
    2023-01-31
    模块 python nmap
  • python模块学习(queue模块的Q
    学习版本3.5.2 PriorityQueue类和LifoQueue类继承Queue类然后重写了_init、_qsize、_put、_get这四个类的私有方法 Queue:先进先出队列的同步实现,通过双向列表实现的 # Initi...
    99+
    2023-01-31
    模块 python queue
  • 怎么在python中使用pandas模块查看DataFrame
    这篇文章将为大家详细讲解有关怎么在python中使用pandas模块查看DataFrame,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、首先加载pandas模块import p...
    99+
    2023-06-15
  • python中pickle模块学习
       在python中有一个pickle的标准模块,这个模块可以把几乎python中所有类型通过模块转换成pickle所能识别的格式进行存储。  pickel模块主要有两个函数dump()和load()  dump()可以把数据对象以特定...
    99+
    2023-01-31
    模块 python pickle
  • python数学模块(math/decimal模块)
    目录一, math模块2. math库常用函数3.math库使用示例二, decimal模块1. 什么时候使用decimal2. 使用decimal3. decimal使用示例一, ...
    99+
    2024-04-02
  • Python模块学习之IPy模块
    IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第...
    99+
    2023-01-31
    模块 Python IPy
  • python学习--DataFrame
    目录 一、DataFrame对象的创建 1、根据列表创建: 情况1:由二维列表 情况2:由元组tuple组成的列表 情况3:由字典dict组成的列表 情况4:由数组array组成的列表 情况5:由序列series组成的列表 2、根据字典创...
    99+
    2023-10-02
    python 开发语言 pandas
  • Python 模块学习
        模块学习: http://wsyht90.blog.51cto.com/9014030/1845737 1、getpass 2、os 3、sys 4、subprocess 5、hashlib 6、json 7、pickle 8、sh...
    99+
    2023-01-31
    模块 Python
  • python模块学习
    系统相关的信息模块: import sys sys.argv 是一个 list,包含所有的命令行参数. sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的文件对象. sys.st...
    99+
    2023-01-31
    模块 python
  • Python wmi 模块的学习
    # -*- coding:utf-8 -*- import datetime import os import wmi import time import _winreg import pythoncom import threadin...
    99+
    2023-01-31
    模块 Python wmi
  • python hashlib模块学习
    目录 hashlib 模块 破解密码 hmac 模块 1.干嘛用的: 对字符进行加密,其实就是一个自定义的字符编码表,...
    99+
    2023-01-31
    模块 python hashlib
  • python模块学习(1)
    模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个 模块里能让你的代码更好用,更易懂。模块也是Python对象,具有随机的名字属性用来绑定或引用。简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变...
    99+
    2023-01-31
    模块 python
  • python学习-re模块
    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,在文本解析、复杂字符串分析和信息提取时是一个非常有用的工具,下面我主要总结了re的常用方法。1.re的简介    使用python...
    99+
    2023-01-31
    模块 python
  • Python学习-pycurl模块
    pycurl是一个用c语言编写的libcurl Python实现,功能非常强大,支持操作协议有FTP,HTTP,HTTPS,TELNET等。模块的常用方法说明:close()方法,对应libcurl包中的curl_easy_cleanup方...
    99+
    2023-01-31
    模块 Python pycurl
  • python optparse模块学习
    本文参考:http://docs.python.org/2/library/optparse.htmlPython 有两个内建的模块用于处理命令行参数:一个是 getopt,getopt只能简单处理 命令行参数。另一个是 optparse,...
    99+
    2023-01-31
    模块 python optparse
  • python自学argparse模块
    argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 import argparse # 导入模块,这个没什么说的 parser = argparse.ArgumentParser...
    99+
    2023-01-31
    模块 python argparse
  • Python pycurl模块 学习
    pycurl模块的安装方法如下: easy_install pycurl #easy_install安装方法 pip install pycurl #pip安装方法 #源码安装方法 # 要求curl-config包支持,需要源码方式重新安...
    99+
    2023-01-31
    模块 Python pycurl
  • python学习-smtplib模块
     python的stmplib模块可以实现邮件的发送功能,可以模拟一个smtp客户端。在python2.3或者更高版本默认自带smtplib模块,无需额外安装。一、smtplibi模块的常用类与方法    smtp类定义:smtplib([...
    99+
    2023-01-31
    模块 python smtplib
  • python学习-psuti模块
    psutil(进程和系统实用程序)是一个跨平台的库,用于 在Python中检索有关运行进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,分析和限制流程资源以及运行流程的管理。它实现了UNIX命令行工具提供的许多...
    99+
    2023-01-31
    模块 python psuti
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作