pandas-20 DataFrame()的基本操作

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

如:

df = pd.read_clipboard()

df.columns

df.Ratings

import numpy as np
import pandas as pd
from pandas import Series, DataFrame # 使用 浏览器 打开 某网址
#import webbrowser
#link = 'https://www.tiobe.com/tiobe-index'
#webbrowser.open(link) # 从 粘贴板上 复制
df = pd.read_clipboard()
print(df)
'''
Oct 2018 Oct 2017 Change Programming Language Ratings Change.1
0 1 1 NaN Java 17.801% +5.37%
1 2 2 NaN C 15.376% +7.00%
2 3 3 NaN C++ 7.593% +2.59%
3 4 5 change Python 7.156% +3.35%
4 5 8 change Visual Basic .NET 5.884% +3.15% '''
print(type(df)) # <class 'pandas.core.frame.DataFrame'>
# 打印出所有的 列名
print(df.columns)
'''
Index(['Oct 2018', 'Oct 2017', 'Change', 'Programming Language', 'Ratings',
'Change.1'],
dtype='object')
'''
# 打印出 其中 一列的 值
print(df.Ratings)
'''
0 17.801%
1 15.376%
2 7.593%
3 7.156%
4 5.884%
Name: Ratings, dtype: object
'''
# 可以使用访问字典的方式 访问
print(df['Ratings'])
'''
0 17.801%
1 15.376%
2 7.593%
3 7.156%
4 5.884%
Name: Ratings, dtype: object
''' print(type(df['Ratings'])) # 每一列 其实都是一个 series : <class 'pandas.core.series.Series'> # 拿出其中的某一些列,组成一个新的dataframe
df_new = DataFrame(df, columns=['Change', 'Ratings'])
print(df_new) df_new = DataFrame(df, columns=['Change', 'Ratings', 'name'])
print(df_new)
'''
Change Ratings name
0 Java None NaN
1 C None NaN
2 C++ None NaN
3 Python None NaN
4 Visual 5.884% NaN
添加的新列,会默认一 NaN填充
'''
# 为 新列 赋值
df_new['name'] = range(0, 5)
print(df_new)
'''
Change Ratings name
0 Java None 0
1 C None 1
2 C++ None 2
3 Python None 3
4 Visual 5.884% 4
''' # 更改某一列 的值
df_new['Change'] = np.arange(0, 5)
print(df_new)
'''
Change Ratings name
0 0 None 0
1 1 None 1
2 2 None 2
3 3 None 3
4 4 5.884% 4
''' # 直接赋值一个 Series 也可以
df_new['Ratings'] = pd.Series(np.arange(0, 5))
print(df_new) # 单独为 某列的某几个值赋值
df_new['name'] = pd.Series([100, 300], index = [1, 2])
print(df_new)
'''
Change Ratings name
0 0 0 NaN
1 1 1 100.0
2 2 2 300.0
3 3 3 NaN
4 4 4 NaN
'''

最新文章

  1. IOS开发基础知识--碎片15
  2. zmq学习笔记
  3. ExtJS学习之路第三步:理解引擎之下,ExtJS4中的类
  4. 【ASP.NET】TreeView控件学习
  5. Spring in action笔记
  6. C# WinForm的SplitContainer控件固定Panel大小[转]
  7. 跟我学android-Android应用基本组件介绍(五)
  8. Cent OS 修改网卡配置
  9. 从&amp;quot;分层二进制输出&amp;quot;至&amp;quot;解决二进制树深度&amp;quot;总结
  10. 爱pia戏推出PC客户端,为您自动置顶窗口,方便查找
  11. mapbox-gl 开发包dev生成
  12. Json、JavaBean、Map、XML之间的互转
  13. 常用API2 正则表达式
  14. mysql select into 不支持
  15. 斐讯自动下单抢购V1.3.4【自动验证码识别】
  16. SpringMVC MongoDB之“基本文档查询(Query、BasicQuery)”
  17. Python - 利用flask搭建一个共享服务器
  18. 配置阿里云的金融云上的rsync
  19. [转]oracle存储过程中update不成功的一个原因
  20. 学会使用postman模拟http请求(转)

热门文章

  1. turtle模块
  2. Educational Codeforces Round 78 (Rated for Div. 2) D. Segment Tree
  3. SparkSQL 中 RDD 、DataFrame 、DataSet 三者的区别与联系
  4. MAC上配置idea环境时排查问题
  5. Java 的API(API: Application(应用) Programming(程序) Interface(接口))
  6. CPU 的由来
  7. Problem B. 即时战略 ———2019.10.12
  8. PID optimizer
  9. docker compose yml 文件常用字段简介
  10. docker 创建私有镜像之 registry