python dataframe常见操作方法:实现取行、列、切片、统计特征值

yipeiwu_com6年前Python基础

实例如下所示:

# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
from pandas import *
from numpy import *

data = DataFrame(np.arange(16).reshape(4,4),index = list("ABCD"),columns=list('wxyz'))
print data
print data[0:2] #取前两行数据
print'+++++++++++++'

print len(data )  #求出一共多少行
print data.columns.size #求出一共多少列
print'+++++++++++++'

print data.columns #列索引名称
print data.index #行索引名称
print'+++++++++++++'

print data.ix[1]  #取第2行数据
print data.iloc[1]  #取第2行数据
print'+++++++++++++'

print data['x'] #取列索引为x的一列数据
print data.loc['A'] #取第行索引为”A“的一行数据,
print'+++++++++++++'

print data.loc[:,['x','z'] ]  #表示选取所有的行以及columns为a,b的列;
print data.loc[['A','B'],['x','z']] #表示选取'A'和'B'这两行以及columns为x,z的列的并集;
print'+++++++++++++'

print data.iloc[1:3,1:3]  #数据切片操作,切连续的数据块
print data.iloc[[0,2],[1,2]]  #即可以自由选取行位置,和列位置对应的数据,切零散的数据块
print'+++++++++++++'

print data[data>2] #表示选取数据集中大于0的数据
print data[data.x>5] #表示选取数据集中x这一列大于5的所有的行

print'+++++++++++++'
a1=data.copy()
print a1[a1['y'].isin(['6','10'])] #表显示满足条件:列y中的值包含'6','8'的所有行。

print data.mean()  #默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值;
print data['x'].value_counts() #统计某一列x中各个值出现的次数:

print data.describe() #对每一列数据进行统计,包括计数,均值,std,各个分位数等。

data.to_excel(r'E:\pypractice\Yun\doc\2.xls',sheet_name='Sheet1') #数据输出至Excel

以上这篇python dataframe常见操作方法:实现取行、列、切片、统计特征值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现的读取文件内容并写入其他文件操作示例

Python实现的读取文件内容并写入其他文件操作示例

本文实例讲述了Python实现的读取文件内容并写入其他文件操作。分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取...

python实现机器人卡牌

python实现机器人卡牌

介绍 这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息。 代码部分非原创只是做了些许修改和整理使得更易阅读。 图片和文件资源请访问git仓库获取:链接地址 涉...

PIL图像处理模块paste方法简单使用详解

PIL图像处理模块paste方法简单使用详解

python2中提供了PIL基础的图像数据出来模块,在python3中更名为了pillow模块,名字虽然发生了改变,但是提供的方法和功能都是一样的,对于日常基础的图像数据处理分析来说是足...

基于Python实现船舶的MMSI的获取(推荐)

基于Python实现船舶的MMSI的获取(推荐)

目的 工作中遇到一个需求,通过需要通过网站查询船舶名称得到MMSI码,网站来自船讯网。 分析请求 根据以往爬虫的经验,打开F12,通过输入船舶名称,观察发送的请求,发现返回数据的网址...

Pytorch 抽取vgg各层并进行定制化处理的方法

工作中有时候需要对vgg进行定制化处理,比如有些时候需要借助于vgg的层结构,但是需要使用的是2 channels输入,等等需求,这时候可以使用vgg的原始结构用class重写一遍,但是...