文章转载自: https://blog.csdn.net/AlanGuoo/article/details/52331901

相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响。。。

到今天终于完全搞清楚了!!!

先手工生出一个数据框吧

import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))

df 是这样子滴

那么这三种选取数据的方式该怎么选择呢?

一、当每列已有column name时,用 df [ 'a' ] 就能选取出一整列数据。如果你知道column names 和index,且两者都很好输入,可以选择 .loc

df.loc[0, 'a']
df.loc[0:3, ['a', 'b']]
df.loc[[1, 5], ['b', 'c']]

由于这边我们没有命名index,所以是DataFrame自动赋予的,为数字0-9

二、如果我们嫌column name太长了,输入不方便,有或者index是一列时间序列,更不好输入,那就可以选择 .iloc了。这边的 i 我觉得代表index,比较好记点。

df.iloc[1,1]
df.iloc[0:3, [0,1]]
df.iloc[[0, 3, 5], 0:2]

使得我们可以对column使用slice(切片)的方法对数据进行选取。

三、.ix 的功能就更强大了,它允许我们混合使用下标和名称进行选取。 可以说它涵盖了前面所有的用法。基本上把前面的都换成df.ix 都能成功,但是有一点,就是

df.ix [ [ ..1.. ], [..2..] ],  1框内必须统一,必须同时是下标或者名称,2框也一样。 BTW, 1框是用来指定row,2框是指定column, 当然上面所有的取数方法都是这个规则。

这就是我目前的领悟吧。

python pandas.DataFrame选取、修改数据相关推荐

  1. python pandas DataFrame 数据替换

    python pandas DataFrame 替换 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...

  2. python pandas DataFrame 排序

    python pandas DataFrame 排序 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...

  3. 清理Pandas DataFrame中的数据

    目录 介绍 清理按键 查找不一致的数据 总结 确保整个DataFrame一致是很重要的.这包括确保数据的类型正确,消除不一致之处并标准化值. 下载CSV和数据库文件-127.8 KB 下载源代码122 ...

  4. python pandas DataFrame 查找NaN所在的位置

    python pandas DataFrame 查找 NaN 所在的位置 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期' ...

  5. python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python 30760 python pandas dataframe

    python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python / 30760 编辑 删除 python pandas dat ...

  6. 在Pandas DataFrame中重塑数据

    目录 介绍 透视Pandas DataFrame 在Pandas DataFrame中对数据进行分组 总结 使用我们的数据集后,我们将快速查看可以使用流行的Python库从数据集轻松创建的可视化,然后 ...

  7. Python pandas.DataFrame.combine_first函数方法的使用

    Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...

  8. Python pandas.DataFrame.tz_localize函数方法的使用

    Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...

  9. Python pandas.DataFrame.expanding函数方法的使用

    Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...

最新文章

  1. 代码跑得慢?分分钟教你如何给代码提速30%!!!
  2. android子view获取父布局,Android获取布局父ID(Android get layout parent id)
  3. [Step By Step]SAP HANA PAL 数据处理抽样算法Sampling实例SAMPLING
  4. java中的this什么作用
  5. windows mysql源码安装配置_windows下MySQL5.6版本安装及配置过程附有截图和具体介绍...
  6. Netcdf对数据进行裁剪
  7. jQuery遍历,数组,集合
  8. 动手学深度学习(PyTorch实现)(十一)--GoogLeNet模型
  9. 透过一个编译报错,总结两个Go程序编译的重要知识
  10. java -jar debug_java – 如何在运行时调试jar?
  11. c++ 获得linux进程内存大小,C/C++获取进程常驻内存大小(get the process resident set size )...
  12. Python 字典(dict)操作(update)、翻转字典
  13. python数字保留两位_Python 鲜为人知的数值格式化
  14. 校园网络视频监控系统方案
  15. 【供应链架构day2】美团收单供应链系统的演进之路
  16. DoDataExchange(CDataExchange* pDX)没有执行到原因
  17. Postman 都有女朋友了,我特么竟然还单身
  18. 实战:模拟登录知乎网站(添加cookie)
  19. XSSF 导入导出excel.xlsx 解决获取空白单元格自动跳过问题,校验excel表头是否符合需求
  20. 云豹POSPAL软件及硬件设置方法

热门文章

  1. Okhttp源码解析(三)——责任链
  2. JS设计模式三:策略模式
  3. 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)
  4. 随便说说---java初级学习路线
  5. chrome调试找不到 XXXX.min.map 原因及解决办法
  6. Windows 7可以体验IE10了
  7. 修改资料时碰到的问题,
  8. markdown数学公式换行对齐_Markdown语法详细
  9. php事务处理深入学校,php事务处理实例详解
  10. scala java抽象理解_Scala - 抽象类型和隐式参数解析