1写在前面我是从16年开始学习Python的,在使用Python最开始的一段时间,基本是操作list列表和dict字典两个简单的数据结构,后来接触数据的特征越来越多,发现即使是嵌套字典记录数据也很困难,就开始寻求其他的替代方法,于是就发现了很好用的Pandas。tips:嵌套字典

{'Tom': {'Age': '12', 'Country': 'America'}}

今天主要给大家介绍下Pandas里面DataFrame的简单用法。DataFrame是二维的表格型数据结构,由一维数组Series组成,很多功能与R中的data.frame类似,如果你经常用R做数据分析,应该会对下面的内容感到熟悉。我觉得不论是学习Python还是其他的什么知识,最快理解的办法就是通过例子来学习,所以我还是用举例子的方法来进行下面的介绍。2DataFrame数据结构介绍

以经典的150行5列的鸢尾花数据集为例

数据为5列150行矩阵,5列中包含4个特征:

萼片长宽(SepalLength、SepalWidth)花瓣长宽(PetalLength、PetalWidth)以及最后一列花名Name(三种花 'Iris-setosa','Iris-versicolor','Iris-virginica')。

首先导入记录数据的csv文件。

import pandas as pd #导入模块pandasimport numpy as np #导入模块numpydata = pd.read_csv('iris.csv') #导入数据print(data.head()) #输出前五行,见下图

输出后五行

print(data.tail())     SepalLength  SepalWidth  PetalLength  PetalWidth            Name145          6.7         3.0          5.2         2.3  Iris-virginica146          6.3         2.5          5.0         1.9  Iris-virginica147          6.5         3.0          5.2         2.0  Iris-virginica148          6.2         3.4          5.4         2.3  Iris-virginica149          5.9         3.0          5.1         1.8  Iris-virginica

输出数据行列数、索引index、列名columns

print(data.shape)(150, 5)print(data.index)RangeIndex(start=0, stop=150, step=1)print(data.columns)Index(['SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth', 'Name'], dtype='object')

3简单操作统计数据某列中元素种类

data["Name"].unique()array(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'], dtype=object)

各种类计数:

data["Name"].value_counts()Iris-setosa        50Iris-virginica     50Iris-versicolor    50Name: Name, dtype: int64

数据转置

data.T

选择第一列

data["SepalLength"]#或者data.iloc[:,0]

选择第一行

data.iloc[1]

选择第三到五行,共三行数据:data.iloc[2:5]

   SepalLength  SepalWidth  PetalLength  PetalWidth         Name2          4.7         3.2          1.3         0.2  Iris-setosa3          4.6         3.1          1.5         0.2  Iris-setosa4          5.0         3.6          1.4         0.2  Iris-setosa

另外loc也可以选取数据,相比iloc只能用数字,loc还可以用字符。

data.loc[2:5,["PetalWidth","Name"]]   PetalWidth         Name2         0.2  Iris-setosa3         0.2  Iris-setosa4         0.2  Iris-setosa5         0.4  Iris-setosa

快速得到具体位置的值

data.at[100,"PetalLength"]6.0

删除列(对原数据进行增添操作时最好先用copy,避免报出warning)

data2=data.copy()data2.drop("Name",axis=1,inplace=True) #删除列data2.head()   SepalLength  SepalWidth  PetalLength  PetalWidth0          5.1         3.5          1.4         NaN1          4.9         3.0          1.4         0.22          4.7         3.2          1.3         0.23          4.6         3.1          1.5         0.24          5.0         3.6          1.4         0.2

删除行

data2.drop(0)     SepalLength  SepalWidth  PetalLength  PetalWidth1            4.9         3.0          1.4         0.22            4.7         3.2          1.3         0.23            4.6         3.1          1.5         0.2……

简单对数据进行统计分析

print(data.describe())       SepalLength  SepalWidth  PetalLength  PetalWidthcount   150.000000  150.000000   150.000000  150.000000mean      5.843333    3.054000     3.758667    1.198667std       0.828066    0.433594     1.764420    0.763161min       4.300000    2.000000     1.000000    0.10000025%       5.100000    2.800000     1.600000    0.30000050%       5.800000    3.000000     4.350000    1.30000075%       6.400000    3.300000     5.100000    1.800000max       7.900000    4.400000     6.900000    2.500000

根据第一列升序排序

data.sort_values(by='SepalLength',ascending=True)

第一列中大于第一列均值的所有行数据

data[data["SepalLength"]>data["SepalLength"].mean()]

替换一个位置的元素为空值nan

data.loc[0,"PetalWidth"]=np.nandata.head()   SepalLength  SepalWidth  PetalLength  PetalWidth         Name0          5.1         3.5          1.4         NaN  Iris-setosa1          4.9         3.0          1.4         0.2  Iris-setosa2          4.7         3.2          1.3         0.2  Iris-setosa3          4.6         3.1          1.5         0.2  Iris-setosa4          5.0         3.6          1.4         0.2  Iris-setosa

删除包含有na的行

data.dropna()

删除包含有na的列

data.dropna(axis=1)

0替换na值

data.fillna(0)

生成新的一列

data=data.copy()data["SepalSum"]=data["SepalLength"]+data["SepalWidth"]

改变一列数据的类型(浮点数转为整数)

data["SepalSum"]=data["SepalSum"].astype(int)

今天的简单介绍就到这里,如果有想学习Pandas用法的朋友请继续关注我们。下一期将为大家进一步介绍Pandas的用法,希望大家多多支持!

赶快来分享关注吖

pandas 替换 某列大于_Pandas简单入门 1相关推荐

  1. pandas 替换 某列大于_pandas数据分析总结大全(入门加进阶)

    前言 python有个很好用的数据分析库pandas,前段时间做了个数据挖掘的比赛,里面数据分析的部分,是用pandas来实现的,今天借助自己实践的经验,来总结一下pandas常用的数据分析方法. 1 ...

  2. pandas 替换 某列大于_Pandas使用总结

    前言 Pandas是机器学习三剑客之一,我们知道Numpy能够对数据进行很好的分析.操作.矩阵计算等,Pandas更侧重于数据的处理和分析,它的底层是使用Numpy实现的,在数据处理和分析方面提供了强 ...

  3. pandas自动创建文件夹_pandas快速入门

    pandas有两类数据对象:dataframe和series.Series是一个带标签的一维数组,通常索引在左,值在右.dataframe是一个带标签的二维数组,可以理解成series的字典,共用索引 ...

  4. pandas 替换数字列中的字符串

    使用pd.to_numeric(),注意需要设置errors="coerce",可以将字符串.None.NaN等都变为数字,最后的整列都会是数字类型 案例 import panda ...

  5. pandas计算含缺失值中列平均值_Pandas进阶修炼120题,给你深度和广度的船新体验...

    来源:早起Python 本文约5800字,建议阅读15分钟. 本文为你介绍Pandas基础.Pandas数据处理.金融数据处理等方面的一些习题. Pandas 是基于 NumPy 的一种数据处理工具, ...

  6. 一步一步学python爬虫_初学Python之爬虫的简单入门

    初学Python之爬虫的简单入门 一.什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等. 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据 ...

  7. pandas 选取行和列的方法

    本文介绍在 pandas 中如何读取数据行列的方法.数据由行和列组成,在数据库中,行被称作记录 (record),列被称作字段 (field).回顾一下我们对记录和字段的获取方式:比较常见的,字段根据 ...

  8. linux中修改某行某列字符串,Linux替换指定列的字符串(awk 命令)

    假设有文件test.txt,想把test.txt文件第三列含有的good替换为bye,并把替换后的文件保存为test_bye.txt,只需要如下命令. test.txt go go good go m ...

  9. VS code 的简单入门使用方法(汇总版本)

    VS code 的简单入门使用方法 背景 本文仅仅将vs code 作为文本工具来用,并非将其作为IDE开发工具(替代类似Windows 中的Notepad++). 本文仅讨论 Mac 平台的 vs ...

最新文章

  1. winsock select
  2. MySQL中字段类型与合理的选择字段类型;int(11)最大长度是多少?varchar最大长度是多少?...
  3. Java中动态获取项目根目录和tomcat的绝对路径
  4. Socket阻塞与非阻塞,同步与异步、I/O模型
  5. CSDN-markdown编辑器使用手册
  6. 2019互联网寒冬期IT大牛不容错过的泰牛程序员PHP系列高级教程
  7. 一名QQ老用户:致腾讯和马化腾的一封信
  8. gif动态图批量加水印方法
  9. google账号已停用(已解决)
  10. 如何查找并修改CAD图纸中的标注文字?
  11. 配置计算机系统doc,计算机的基本配置.doc
  12. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F…' 问题汇总
  13. 标签云打印/微信小程序蓝牙标签打印开放平台功能
  14. python控制结束多线程_python进阶八——并发编程之多线程
  15. 谷歌退出中国声明全文(中英对照版)A new approach to China
  16. LINUX 防火墙开放端口,查看状态,查看开放端口
  17. 利用python声音处理库librosa提取声音信号的mfcc特征及特征融合
  18. 【干货】我的机器学习入门路线图
  19. linux7没有ifconfig,CentOS 7 没有ifconfig新的替换命令ip
  20. 数据压缩第九周作业——码流分析仪

热门文章

  1. 北京IT白领的真实生活!
  2. 花了一晚上时间,终于把Python的基本用法归纳好了!
  3. 半路学编程,可以成为大牛吗?
  4. 一个程序员的逗逼瞬间(三)
  5. python class函数报错_如何掌握python中class函数用法?
  6. android studio gradle home,Android Studio3.0 Gradle 4.1配置
  7. R包ggseqlogo |绘制序列分析图
  8. Snagit好用吗?Snagit 2022最全快捷键指南
  9. php按照二维数组某个字段排序,PHP 二维数组根据某个字段排序
  10. PAT乙级资料集-2022.04.06