ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

panda中dataframe常见操作:取行、列、切片、统计特征值合集

2021-03-22 12:32:05  阅读:286  来源: 互联网

标签:loc 数据 取行 dataframe +++++++++++++ print data panda columns


本文主要整理自 https://blog.csdn.net/tanlangqie/article/details/78656588 并在此基础上补充

#  -*- 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每行并记录某两列,在data1中按x,y遍历并修改值   主要用于重新加工data中的某两列
for i in range(0, len(data)):
    x=data.iloc[i]['某列名称']  #x作为data1的行索引,可以为字符串
    y=data.iloc[i]['某列名称']  #y作为data1的列索引,可以为字符串
    data1.loc[x,y]=1+df_hotel.loc[x,y] # 

print'+++++++++++++'

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

标签:loc,数据,取行,dataframe,+++++++++++++,print,data,panda,columns
来源: https://blog.csdn.net/weixin_43945124/article/details/115071745

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有