转自:https://www.tutorialspoint.com/python_pandas/python_pandas_dataframe.htm

1.数据框4特性

  • 列是不同类型的数据元素。

  • 每列的长度可变

  • 行和列都有标签

  • 对行和列可进行算术运算。

可将其视为SQL表。//这个十分容易理解了。

2.创建

pandas.DataFrame( data, index, columns, dtype, copy)

其中Data可以是list,dict,array,series,map,等。

  • Lists
  • dict
  • Series
  • Numpy ndarrays
  • Another DataFrame

index是对行的索引,column是列名。

从List

从dict

3.列操作

选择列,直接用列名即可。

添加列:

删除列,

使用del函数或者pop函数:

4.行操作

对行索引,

可以通过label来进行,那么使用loc;通过行数字来进行,使用iloc:

//行号是从0开始的。

对行进行数据切片:

//直接使用冒号即可,并且右边的数是取不到的。

添加行,使用append函数

//注意上述,append了之后,index是仍旧保持原来的,会有相同的index。

对于相同的index,如果使用整数去iloc的话,实际上并不是一列,从上述结果可以看书,那么如果是使用loc呢?

print(df.loc[''])
报错:KeyError: 'the label [0] is not in the [index]'
那么就只能用iloc去索引了

//去掉引号之后可以了。

这说明,对于不指定index的,自动生成的0,1,2,3.是label,使用loc索引。

删除行:

使用pop函数,会将具有相同label的行删除。

2020-3-3————————————

1.行遍历数据框

import pandas  as pd
import numpy as np
b=pd.read_csv("a.txt",names=['','','','',''],skiprows=3,sep=' ')
a=np.zeros((4,2))
for i,v in b.iterrows():#这样就可以直接遍历行
a[i,0]=v[0]#下面可以直接访问列对另一个矩阵赋值
a[i,1]=v[2]

a.txt:

S.No Name Age City Salary df dfs
1 Tom 28 Toronto 20000.0
2 Lee 32 HongKong 3000.0
3 Steven 43 BayArea 8300.0
4 Ram 38 Hyderabad 3900.0

2.对行按照行名进行重新放置

import pandas  as pd
import numpy as np
b=pd.read_csv("a.txt",sep=' ')
b.index=['a','b','c','d'] #直接这样就ok的啊。

也是非常的简单,直接b.reindex([....])即可,也可以是别的df的index

Py之pandas:dataframe学习【转载】的更多相关文章

  1. pandas.DataFrame学习系列1——定义及属性

    定义: DataFrame是二维的.大小可变的.成分混合的.具有标签化坐标轴(行和列)的表数据结构.基于行和列标签进行计算.可以被看作是为序列对象(Series)提供的类似字典的一个容器,是panda ...

  2. Pandas DataFrame学习笔记

    对一个DF r1  r2  r3 c1 c2 c3 选行:  df['r1']  df['r2':'r2']  #包含r2  df[df['c1']>5] #按条件选 选列:  df['c1'] ...

  3. pandas.DataFrame的pivot()和unstack()实现行转列

    示例: 有如下表需要进行行转列: 代码如下: # -*- coding:utf-8 -*- import pandas as pd import MySQLdb from warnings impor ...

  4. pandas的学习总结

    pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...

  5. Python之Pandas库学习(二):数据读写

    1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...

  6. pandas再次学习

    numpy.scipy官方文档  pandas官方网站  matplotlib官方文档 一.数据结构 二.数据处理 1.数据获取(excel文件数据基本信息) #coding=utf-8 import ...

  7. 如何通过Elasticsearch Scroll快速取出数据,构造pandas dataframe — Python多进程实现

    首先,python 多线程不能充分利用多核CPU的计算资源(只能共用一个CPU),所以得用多进程.笔者从3.7亿数据的索引,取200多万的数据,从取数据到构造pandas dataframe总共大概用 ...

  8. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  9. pandas DataFrame apply()函数(1)

    之前已经写过pandas DataFrame applymap()函数 还有pandas数组(pandas Series)-(5)apply方法自定义函数 pandas DataFrame 的 app ...

随机推荐

  1. .NET 正则表达式使用高级技巧之替换类介绍

    因为.net的基本正则语法和Perl5基本相同,所以基本语法你可以去下载一下M$的JS帮助文档,上面有详细的说明 \d表示什么,{,}表示什么,\[表示什么……,这里我只想提醒大家一点,为了避免和反向 ...

  2. word2010没有“标题2、标题3”样式的解决办法

    word2010没有“标题2.标题3”样式的解决办法 很多人用word的时候都喜欢用“标题1”“标题2”等样式来定义他们的文档标题,被这样定义的标题会出现在导航窗格中,使浏览起来非常方便.但是最近我发 ...

  3. kafka进阶

    1. kafka整体结构图 Kafka名词解释和工作方式 Producer :消息生产者,就是向kafka broker发消息的客户端. Consumer :消息消费者,向kafka broker取消 ...

  4. 攻防对抗中常用的windows命令(渗透测试和应急响应)

    一.渗透测试 1.信息收集类 #查看系统信息 >systeminfo #查看用户信息 >net user >net user xxx #查看网络信息 >ipconfig /al ...

  5. redmine创建新闻,自动发邮件给项目组所有成员

    redmine创建新闻,自动发邮件给项目组所有成员: 1.添加用户至公共项目内 2.配置系统邮件推送配置 3.检查用户接受推送配置 3.使用管理员账户发布新闻(不能自己发送自己) 4.查看邮件接受邮件

  6. 原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 <script> var oStr = ''; var postData = {}; var oAjax = null; //post ...

  7. 大话FLASH和EEPROM

    最近在看代码的时候,遇到了一个使用FLASH模拟EEPROM的情况,看到这个我当时是一脸蒙蔽啊,对于一个有时候连FLASH和EEPROM都分不清的人来说,怎么可能读懂用FLASH来模拟EEPROM呢? ...

  8. http访问tomcat server的一个流程

    Tomcat Server处理一个http请求的过程 假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 1) 请求被发送到本机端口8080 ...

  9. Scikit-Learn实战KNN

    Scikit-Learn总结 Scikit-Learn(基于Python的工具包) 1.是一个基于Numpy,Scipy,Matplotlib的开源机器学习工具包. 2.该包于2007年发起,基本功能 ...

  10. CodeForces 551C - GukiZ hates Boxes - [二分+贪心]

    题目链接:http://codeforces.com/problemset/problem/551/C time limit per test 2 seconds memory limit per t ...