pandas-20 DataFrame()的基本操作
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
'''
pandas-20 DataFrame()的基本操作的更多相关文章
- pandas取dataframe特定行/列
1. 按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFram ...
- Pandas之DataFrame——Part 1
''' [课程2.] Pandas数据结构Dataframe:基本概念及创建 "二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值.字符 ...
- Pandas | 03 DataFrame 数据帧
数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 ...
- python 数据处理学习pandas之DataFrame
请原谅没有一次写完,本文是自己学习过程中的记录,完善pandas的学习知识,对于现有网上资料的缺少和利用python进行数据分析这本书部分知识的过时,只好以记录的形势来写这篇文章.最如果后续工作定下来 ...
- Pandas之Dataframe叠加,排序,统计,重新设置索引
Pandas之Dataframe索引,排序,统计,重新设置索引 一:叠加 import pandas as pd a_list = [df1,df2,df3] add_data = pd.concat ...
- pandas中DataFrame对象to_csv()方法中的encoding参数
当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...
- pandas(DataFrame)
DataFrame是二维数据结构,即数据以行和列的表格方式排列!特点:潜在的列是不同的类型,大小可变,标记行和列,可以对列和行执行算数运算. 其中Name,Age即为对应的Columns,序号0,1, ...
- Python3 Pandas的DataFrame数据的增、删、改、查
Python3 Pandas的DataFrame数据的增.删.改.查 一.DataFrame数据准备 增.删.改.查的方法有很多很多种,这里只展示出常用的几种. 参数inplace默认为False,只 ...
- Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库
Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...
随机推荐
- LOJ 3160: 「NOI2019」斗主地
题目传送门:LOJ #3160. 简要题意: 有一个长度为 \(n\) 的序列 \(a\),初始时 \(a_i=i\) 或 \(a_i=i^2\),这取决于 \(\mathrm{type}\) 的值. ...
- zookeper分布式搭建
zookeper的安装如下链接 https://www.cnblogs.com/wanerhu/p/11144815.html
- 11-赵志勇机器学习-DBSCAN聚类
(草稿) 两点关系的三种定义: 1. 直接密度可达:A在B的邻域内: 2. 密度可达:AB之间存在,直接密度可达的点串: 3. 密度连接:AB之间存在点k,使得Ak和Bk都密度可达: 过程: 1. 对 ...
- 【Js】创建对象的6种方式总结、(底部包含属性名为动态的形式)
一.new 操作符 + Object 创建对象 1 var person = new Object(); 2 person.name = "lisi"; 3 person.age ...
- LeetCode 987. Vertical Order Traversal of a Binary Tree
原题链接在这里:https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/ 题目: Given a binary ...
- PDB files out of the debugger
我想我不需要强调在调试时拥有有效的PDB文件有多重要.通常,PDB文件是由调试器静默加载的,并且您很高兴在modules窗口中看到解析的所有符号.不幸的是,您还可能遇到调试器找不到匹配符号的情况.其原 ...
- php+ajax无刷新分页原生ajax实现分页最简单完整实例-完整代码,
展示页面:index.html <html><script> function ajax_show() { // 获取当前页 var page =1; var xhr = ne ...
- django -- ORM查询
前戏 在我们之前操作ORM中,你也许是启动Django项目,通过地址访问固定的函数,或者在pycharm里的python console里执行,第一种比较麻烦,而且每次都要启动项目,写路由,第二种虽然 ...
- SpringData JPA一对多多对一多对多关联
一.一对多.多对一 1.Country实体类 2.City实体类 3.CountryDao层 4.CityDao层 5.Controller package com.zn.controller; im ...
- MySQL 执行插入报错 - Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column 'name' at row 1
报错的原因就是在执行插入时对Name这个字段被赋予了错误的字符串值:’\xE4\xB8\xAD\xE6\x96\x87’ 实际上就函数里面的变量接收到的值编码格式跟它定义的不一致. 使用navica ...