创建2个DataFrame,一个没有行列命名,一个有行列名。来进行常规切片、loc/iloc索引、布尔索引的对比试验。

1.使用Numpy和pandas创建两个DataFrame

之前别忘了导入Numpy和pandas库。

df1 = pd.DataFrame(np.random.randn(5, 5))
#创建一个DataFrame,但不给行和列命名df2 = pd.DataFrame(np.arange(20).reshape(4, 5), index=list('ABCD'), columns=list('OPQRS'))
#创建一个DataFrame并给行和列命名

打印出来看下效果:

df1:行和列没有命名
df2:行和列有命名

2.使用[]和数字

df1[2]

df1[2]
df2[2]

df2[2]

可以看到df1[2]获取的是第3列的数据,df2[2]却报错了。说明[]+数字获取的是列值,但遇到有列名的情况就会报错。

3.使用[]和列表

df1[[0, 2]]

df1[[0, 2]]
df2[[0, 2]]

df2[[0, 2]]

df1[[0, 2]]获取的是第1和第3列的数据,df2[[0, 2]]报错。说明[]+列表是通过列名获取多列值。

3.使用[]和:

df1[1:4]

df1[1:4]
df2[1:4]

df2[1:4]

df1和df2都可以获取。而且获取的数据都是第2,3,4行的数据。说明[]+:是通过列位置获取数据。

4.使用loc

#df.loc 通过标签索引行或列数据

df1.loc[[0, 1], :]

df1.loc[[0, 1], :]
df2.loc[['A', 'C'], :]

df2.loc[['A', 'C'], :]

loc的[]包含的是行或者列的标签名,通过:隔开,可选择多行多列。

loc只针对已经命名行列的DataFrame有效,通过位置切片需要用到iloc。

5.使用iloc

#df.iloc通过位置获取行数据 iloc --> index location

df1.iloc[[0, 1], [1, 2]]

df1.iloc[[0, 1], [1, 2]]
df2.iloc[[0, 1], [1, 2]]

df2.iloc[[0, 1], [1, 2]]

iloc通过位置来获取数据,通过:隔开,可选择多行多列。

5.使用布尔索引

从df1中获取介于-0.9和0.9之间的数

df1[df1.abs() < 0.9]

df1[df1.abs() &amp;amp;amp;amp;lt; 0.9]

获取df2中的奇数

df2[df2 % 2 == 1]

df2[df2 % 2 == 1]

dataframe中多列除以不同列_Python之DataFrame切片与索引实验相关推荐

  1. pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值

    pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值(check if column contains any missing values in dataf ...

  2. pandas使用select_dtypes函数移除dataframe中指定数据类型的数据列(exclude columns based on the data type in dataframe)

    pandas使用select_dtypes函数移除dataframe中指定数据类型的数据列(exclude columns based on the data type in dataframe) 目 ...

  3. R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型

    R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型 目录

  4. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换

    pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换 目录

  5. Python向DataFrame中指定位置添加一列或多列

    对于这个问题,相信很多人都会很困惑,本篇文章将会给大家介绍一种非常简单的方式向DataFrame中任意指定的位置添加一列. 在此之前或许有不少读者已经了解了最普通的添加一列的方式,如下: import ...

  6. pandas从dataframe中选择部分行、列

    首先构建dataframe: import pandas as pddf: pd.DataFrame = pd.DataFrame([[1, 4, 5, 4, 6],[70, 3, 3, 8, 2], ...

  7. dataframe 一列的不同值_python数据分析包|Pandas-02之缺失值(NA)处理

    本篇详解pandas中缺失值(Missing data handling)处理常用操作. 缺失值处理常用于数据分析数据清洗阶段:Pandas中将如下类型定义为缺失值: NaN: '', '#N/A', ...

  8. 数据 正则化 python_python3.6怎么单独正则化/标准化DataFrame中的指定列数据

    问 题 问题: 读入一个excel表后,想要正则化(标准化)其中的某一列数据,还试过单独正则化后,再把两个DataFrame拼接的,用过insert和cancat,append这些,但是因为索引对不上 ...

  9. 将一个DataFrame中的一列(行),插入到另一个DataFrame中

    原始数据: import pandas as pd import numpy as npdata = {'a': [4, 6, 5, 7, 8],'b': ['w', 't', 'y', 'x', ' ...

最新文章

  1. 热电偶校验仪使用说明_热电偶冷端补偿方法
  2. 真是,原来可以这样啊
  3. 算法与数据结构 设计模式
  4. Python使用集合运算检测密码字符串的安全强度
  5. 嵌入式Linux上没有x-window系统环境运行qt程序的方法
  6. 操作系统(1) 操作系统概念
  7. {最强实用}手机衩偷了,可以用这招轻易取回来(值得学习)
  8. 盘点 4 个开源小游戏
  9. API-String中的某些方法
  10. 游轮帆船租赁旅游响应式模板
  11. 王道计算机网络 第一章 计算机网络
  12. excel shell合成_1分钟拆解:「如何将10多个工作表sheet,合并成一张?」
  13. A component required a bean of type ‘com.dmsd.spm.provider.service.BookServi
  14. mysql 文本挖掘_GitHub - HuiHuiT/dianping_textmining: 大众点评评论文本挖掘,包括点评数据爬取、数据清洗入库、数据分析、评论情感分析等的完整挖掘项目...
  15. 计算机专业课程设计论文,课程设计学生论文,关于计算机专业课程设计教学改进相关参考文献资料-免费论文范文...
  16. CDMA CDMA2000 WCDMA TD-SCDMA的区别
  17. 华为交换机linux版本号,华为交换机S5700升级实例
  18. 重庆交通大学c语言上机试题,2021考研复试重庆交通大学《C语言程序设计》复试大纲...
  19. win10自带c语言编程猫,编程猫Nemo V2.4.1 最新PC版
  20. 7个典型问题的分析解决思路

热门文章

  1. “iexplorer.exe遇到问题需要关闭”问题的处理
  2. 浅析Kubernetes资源管理
  3. Redis常见面试题5 -- 持久化方式之RDB(快照模式)
  4. gin c.Next()方法
  5. 2020重学Go系列:反引号的妙用—结构体里的 Tag 标签
  6. 手把手教你nginx下如何增加网站
  7. Java高并发编程详解系列-深入理解Thread构造
  8. 【SpringMVC框架】springmvc的基础知识
  9. automake使用实例
  10. 图像目标检测(Object Detection)原理与实现(二)