DataFrame的基本操作
数据查看、转置、 添加、修改、删除值 / 对齐 / 排序
1. 查看、转置、 添加、修改

df.head()#查看df头部元素
df.tail()#查看df的最后几个元素
df.T#转置df.loc[4] = 20  # df索引为4的行的值设为20,如果df无索引为4的行,则添加这行
df['e'] = 20  #df列名为‘e’的值设为20,如果df列名为‘e’的列,则添加这行
df[['a','c']] = 100  #同时设两列

2. 删除
df

    a          b          c          d
0  18.508749  55.076623  31.351921  97.197084
1   6.225724  38.386008  26.030686  37.091972
2  90.739194   7.106155  69.594075  10.862557
3  34.379840  33.543922  14.466034  39.377378
  • del 删除列
del df['a']#原始数据会改变,无返回,输出会报错
print(df)
           b          c          d
0  55.076623  31.351921  97.197084
1  38.386008  26.030686  37.091972
2   7.106155  69.594075  10.862557
3  33.543922  14.466034  39.377378
  • drop()删除行,inplace=False → 删除后生成新的数据,不改变原数据.inplace=True → 删除后不生成新的数据,改变原数据
print(df.drop(0))
print('*'*20)
print(df)
 b          c          d
1  38.386008  26.030686  37.091972
2   7.106155  69.594075  10.862557
3  33.543922  14.466034  39.377378
********************b          c          d
0  55.076623  31.351921  97.197084
1  38.386008  26.030686  37.091972
2   7.106155  69.594075  10.862557
3  33.543922  14.466034  39.377378

drop()删除列,需要加上axis = 1,inplace=False → 删除后生成新的数据,不改变原数据

print(df.drop(['d'], axis = 1))
print(df)
 b          c
0  55.076623  31.351921
1  38.386008  26.030686
2   7.106155  69.594075
3  33.543922  14.466034b          c          d
0  55.076623  31.351921  97.197084
1  38.386008  26.030686  37.091972
2   7.106155  69.594075  10.862557
3  33.543922  14.466034  39.377378

3. 对齐
DataFrame对象之间的数据自动按照列和索引(行标签)对齐

df1 = pd.DataFrame(np.random.randn(5, 4), columns=['A', 'B', 'C', 'D'])
df2 = pd.DataFrame(np.random.randn(4, 3), columns=['A', 'B', 'C'])
print(df1)
print(df2)
print(df1 + df2)

有相同的index和columns的,相加,没有的用NaN填充

 A         B         C         D
0  0.936158  0.176731  0.057894  1.378480
1 -0.845350 -1.315490  1.364016  0.068843
2  1.202603 -1.866056 -1.243468 -2.464771
3 -1.027430 -0.090378  0.772160  0.421877
4  0.599495 -0.512279  0.343464 -0.539533A         B         C
0 -0.749239  0.468161 -1.300230
1  1.318669  0.415610  1.224801
2 -1.582607  0.297839  0.225834
3 -0.639544  0.187458  0.498859A         B         C   D
0  0.186919  0.644892 -1.242336 NaN
1  0.473319 -0.899880  2.588817 NaN
2 -0.380003 -1.568217 -1.017634 NaN
3 -1.666974  0.097081  1.271019 NaN
4       NaN       NaN       NaN NaN

4. 排序

  • 按值排序.sort_values,同样适用于Series
    按‘a’列的值升序排列
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,columns = ['a','b','c','d'])
print(df1)
print(df1.sort_values(['a'], ascending = True))  # 升序.ascending 上升的。ascending =False,降序排列
df
a          b          c          d
0   3.570340  86.589786  98.001894  50.984826
1  46.210527  83.412502  74.492003  73.251724
2  91.115360   6.083352  34.314697  56.784097
3  24.781722  67.813376  65.004312  31.788198

排序后结果

 a          b          c          d
0   3.570340  86.589786  98.001894  50.984826
3  24.781722  67.813376  65.004312  31.788198
1  46.210527  83.412502  74.492003  73.251724
2  91.115360   6.083352  34.314697  56.784097

print(df1.sort_values(['a','c'])) 多列排序,按列顺序排序

  • 索引排序 .sort_index
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,index = [5,4,3,2],columns = ['a','b','c','d'])
print(df1)
print(df1.sort_index())
 a          b          c          d
5  80.932585  71.991854  64.582943  23.443231
4  82.054030  87.459058  12.108433  83.047490
3  56.329863  14.926822  47.884418  59.880352
2   0.347007  69.794103  74.375345  12.736429a          b          c          d
2   0.347007  69.794103  74.375345  12.736429
3  56.329863  14.926822  47.884418  59.880352
4  82.054030  87.459058  12.108433  83.047490
5  80.932585  71.991854  64.582943  23.443231

pandas(三) -- DataFrame的基本操作相关推荐

  1. python dataframe 中位数_python下的Pandas中DataFrame基本操作(一),基本函数整理

    pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...

  2. pandas.DataFrame()的基本操作

    感觉上pandas的DataFrame就像numpy中的矩阵,不过它拥有列名和索引名,实际操作起来会更方便一些. 如: df = pd.read_clipboard() df.columns df.R ...

  3. pandas, dataframe获取最后一行的三种方法

    这次为了做NLP的第一个作业:隐马尔科夫模型的词性判断,开始接触pandas,numpy和pandas我真的很不熟,导致了作业晚交,理解了原理但代码写得很痛苦. 用测试集计算了词性之间的转移概率,转换 ...

  4. Python—pandas中DataFrame类型数据操作函数

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构.  本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数.  1)查看DataFram ...

  5. dataframe 空值替换为0_缓解Pandas中DataFrame占用内存过高

    0 背景 在我们使用pandas进行数据处理的时候,有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存中的时候会占用非常高的内存,本文即解决这样的问题. 1 原因 如果是 ...

  6. python查看dataframe数据类型_python pandas中DataFrame类型数据操作函数的方法

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数 ...

  7. oracle自带split函数_Pandas 基本使用(三) — DataFrame.to_dict() 函数基本使用

    Pandas 基本使用(三) - DataFrame.to_dict() 函数基本使用: Pandas 处理数据的基本类型为 DataFrame,数据清洗时不可必然会关系到数据类型转化问题,Panda ...

  8. python科学计算笔记(九)pandas中DataFrame数据操作函数

    Python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数 ...

  9. python dataframe函数_python pandas中DataFrame类型数据操作函数的方法

    这篇文章主要介绍了关于python pandas中DataFrame类型数据操作函数的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python数据分析工具pandas中Data ...

最新文章

  1. 英语语法---数词详解
  2. Ajax链接输出数据库
  3. Office 365 online的基本概念
  4. 兵器簿之Alcatraz(插件管理神器)的配置和使用
  5. C# PDFLibNet PDF转JPG
  6. Atitit java读取tif文件为空null的解决 图像处理
  7. 基于Java的Cplex入门
  8. Cgroup资源配置方法详细解析
  9. Halcon实现Otsu最大类间方差法
  10. 2019新版c智播客h马程序员H5全栈工程师培训项目实战
  11. C语言解决找零钱问题
  12. wordpress网站单页模板主题开发制作
  13. MacOS安装brew教程从入门到入土
  14. Win7下,使用VM虚拟机,安装苹果Mac OS经验分享
  15. Java 面试题:数据结构 + 算法 +JVM+ 线程 +finalize+GC
  16. OpenStack网络 - 使用vlan模式来剖析openstack网络相关概念及原理
  17. live555源码分析(四)RTSPServer分析
  18. 可能是全网最全,JAVA日志框架适配、冲突解决方案,可以早点下班了!
  19. 一个HR人给应届生的面试建议,关于应届生面试自我介绍、常见问题及回答、面试礼仪、技巧等,非常全面、非常专业,面试前必看,晚了后悔呀。
  20. 信息的传递 认识自身5

热门文章

  1. 小白教程:Visual Studio2017配置GitHub图文教程
  2. 计算机设备全年销量excel,计算机二级MS-OFFICE考试EXCEL题型汇总附答案.pdf
  3. 趣学python3(29)-集合set
  4. keras随笔-读取IMDB电影数据集
  5. 读博是围城吗?为什么很多读博的人都觉得自己很惨?可我真的羡慕啊!
  6. 数猪第一名!推荐给你的朋友们!猪只盘点挑战赛Baseline分享
  7. 【数据竞赛】席卷Kaggle的调参神器,NN和树模型通吃!
  8. 情人节脱单必备,程序员如何花式表白
  9. 【论文解读】ICLR2020 | 深度自适应Transformer
  10. 30例 | 一文搞懂python日期时间处理