pandas-20 DataFrame()的基本操作

感觉上pandas的DataFrame就像numpy中的矩阵,不过它拥有列名和索引名,实际操作起来会更方便一些。

如:

df = pd.read_clipboard()

df.columns

df.Ratings

  1. import numpy as np
  2. import pandas as pd
  3. from pandas import Series, DataFrame
  4. # 使用 浏览器 打开 某网址
  5. #import webbrowser
  6. #link = 'https://www.tiobe.com/tiobe-index'
  7. #webbrowser.open(link)
  8. # 从 粘贴板上 复制
  9. df = pd.read_clipboard()
  10. print(df)
  11. '''
  12. Oct 2018 Oct 2017 Change Programming Language Ratings Change.1
  13. 0 1 1 NaN Java 17.801% +5.37%
  14. 1 2 2 NaN C 15.376% +7.00%
  15. 2 3 3 NaN C++ 7.593% +2.59%
  16. 3 4 5 change Python 7.156% +3.35%
  17. 4 5 8 change Visual Basic .NET 5.884% +3.15%
  18. '''
  19. print(type(df)) # <class 'pandas.core.frame.DataFrame'>
  20. # 打印出所有的 列名
  21. print(df.columns)
  22. '''
  23. Index(['Oct 2018', 'Oct 2017', 'Change', 'Programming Language', 'Ratings',
  24. 'Change.1'],
  25. dtype='object')
  26. '''
  27. # 打印出 其中 一列的 值
  28. print(df.Ratings)
  29. '''
  30. 0 17.801%
  31. 1 15.376%
  32. 2 7.593%
  33. 3 7.156%
  34. 4 5.884%
  35. Name: Ratings, dtype: object
  36. '''
  37. # 可以使用访问字典的方式 访问
  38. print(df['Ratings'])
  39. '''
  40. 0 17.801%
  41. 1 15.376%
  42. 2 7.593%
  43. 3 7.156%
  44. 4 5.884%
  45. Name: Ratings, dtype: object
  46. '''
  47. print(type(df['Ratings'])) # 每一列 其实都是一个 series : <class 'pandas.core.series.Series'>
  48. # 拿出其中的某一些列,组成一个新的dataframe
  49. df_new = DataFrame(df, columns=['Change', 'Ratings'])
  50. print(df_new)
  51. df_new = DataFrame(df, columns=['Change', 'Ratings', 'name'])
  52. print(df_new)
  53. '''
  54. Change Ratings name
  55. 0 Java None NaN
  56. 1 C None NaN
  57. 2 C++ None NaN
  58. 3 Python None NaN
  59. 4 Visual 5.884% NaN
  60. 添加的新列,会默认一 NaN填充
  61. '''
  62. # 为 新列 赋值
  63. df_new['name'] = range(0, 5)
  64. print(df_new)
  65. '''
  66. Change Ratings name
  67. 0 Java None 0
  68. 1 C None 1
  69. 2 C++ None 2
  70. 3 Python None 3
  71. 4 Visual 5.884% 4
  72. '''
  73. # 更改某一列 的值
  74. df_new['Change'] = np.arange(0, 5)
  75. print(df_new)
  76. '''
  77. Change Ratings name
  78. 0 0 None 0
  79. 1 1 None 1
  80. 2 2 None 2
  81. 3 3 None 3
  82. 4 4 5.884% 4
  83. '''
  84. # 直接赋值一个 Series 也可以
  85. df_new['Ratings'] = pd.Series(np.arange(0, 5))
  86. print(df_new)
  87. # 单独为 某列的某几个值赋值
  88. df_new['name'] = pd.Series([100, 300], index = [1, 2])
  89. print(df_new)
  90. '''
  91. Change Ratings name
  92. 0 0 0 NaN
  93. 1 1 1 100.0
  94. 2 2 2 300.0
  95. 3 3 3 NaN
  96. 4 4 4 NaN
  97. '''

pandas-20 DataFrame()的基本操作的更多相关文章

  1. pandas取dataframe特定行/列

    1. 按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFram ...

  2. Pandas之DataFrame——Part 1

    ''' [课程2.] Pandas数据结构Dataframe:基本概念及创建 "二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值.字符 ...

  3. Pandas | 03 DataFrame 数据帧

    数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 ...

  4. python 数据处理学习pandas之DataFrame

    请原谅没有一次写完,本文是自己学习过程中的记录,完善pandas的学习知识,对于现有网上资料的缺少和利用python进行数据分析这本书部分知识的过时,只好以记录的形势来写这篇文章.最如果后续工作定下来 ...

  5. Pandas之Dataframe叠加,排序,统计,重新设置索引

    Pandas之Dataframe索引,排序,统计,重新设置索引 一:叠加 import pandas as pd a_list = [df1,df2,df3] add_data = pd.concat ...

  6. pandas中DataFrame对象to_csv()方法中的encoding参数

    当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...

  7. pandas(DataFrame)

    DataFrame是二维数据结构,即数据以行和列的表格方式排列!特点:潜在的列是不同的类型,大小可变,标记行和列,可以对列和行执行算数运算. 其中Name,Age即为对应的Columns,序号0,1, ...

  8. Python3 Pandas的DataFrame数据的增、删、改、查

    Python3 Pandas的DataFrame数据的增.删.改.查 一.DataFrame数据准备 增.删.改.查的方法有很多很多种,这里只展示出常用的几种. 参数inplace默认为False,只 ...

  9. Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库

    Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...

随机推荐

  1. 201871010110-李华《面向对象程序设计(java)》第四周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  2. python递归和内置方法

    递归:函数调用自身 核心:递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到):设置一个条件,能够让最后一次函数调用结束 练习: ​ 第一个人的姓名是16岁,后面每个人的年龄都比前一个大 ...

  3. python基础之函数重点

    函数的返回值 现在有一个需求,比较两个人的月薪,然后想获取月薪较大人的年薪. 如果需要在程序中拿到函数的处理结果做进一步的处理,则需要函数必须要有返回值. 需要注意的是: return是一个函数结束的 ...

  4. [PHP] JQuery+Layer实现添加删除自定义标签代码

    JQuery+Layer实现添加删除自定义标签代码 实现效果如下: 实现代码如下: <!doctype html> <html> <head> <meta c ...

  5. map和object互转的几种方式

    1.使用Apache中的BeanUtils类,导入commons-beanutils包. 2.使用JSON 3.利用java.lang.reflect.Field类完成Obj和Map之间的相互转换 h ...

  6. 三天精通Vue--ES6的常用语法

    详细学习请参考  阮一峰的ECMAScript 6 入门 let和const的使⽤ es5中使用var来声明全局变量 es5中我们学习了使用var来声明变量,但是使用var声明变量,会存在变量提升的问 ...

  7. Java 读取和写入文本文件

    package test_java; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStre ...

  8. Java 并发系列之四:java 多线程

    1. 线程简介 2. 启动和终止线程 3. 对象及变量的并发访问 4. 线程间通信 5. 线程池技术 6. Timer定时器 7. 单例模式 8. SimpleDateFormat 9. txt ja ...

  9. Android Studio 之 ROM【3】,LiveData+ViewModel+AsyncTask+Repository+RecyclerView

    教程地址:https://www.bilibili.com/video/av65180549 源码地址:https://github.com/longway777/Android-2019-Tutor ...

  10. [Gamma阶段]测试报告

    [Gamma阶段]测试报告 博客目录 测试方法及过程 在正式发布前,为检验后端各接口功能的正确性,后端服务器对压力的耐受程度,以及前端各页面.功能的运行情况,我们对我们的服务器及小程序进行了多种测试. ...