ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【python pandas excel操作】

2021-11-05 22:59:26  阅读:203  来源: 互联网

标签:sheet python excel +++++++++++++ 一列 pd print data pandas


 

目录

1、打开Excel,获取不同sheet的名称

2、获取不同sheet的内容

3、 获取行数以及表头

4、对某一列的信息进行筛选

5、其他panda对Excel的操作


 摘自:python对excel操作获取某一列,某一行的值,对某一列信息筛选_春风若是你的博客-CSDN博客_python遍历excel某行某列所有数据icon-default.png?t=LA46https://blog.csdn.net/weixin_43245453/article/details/90747259

1、打开Excel,获取不同sheet的名称

import pandas as pd
path = '1.xls'
data = pd.read_excel(path,None)#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
print(data.keys())#查看sheet的名字
for sh_name in data.keys():
    print('sheet_name的名字是:',sh_name)

data = {sheet1:sheet1的内容,sheet2:sheet2的内容,sheet3:sheet3的内容}

2、获取不同sheet的内容

sh_data = pd.DataFrame(pd.read_excel(path,表格页面名称sheet))

3、 获取行数以及表头

import pandas as pd
path = 'G:\动力系\新建文件夹\什么.xls'
data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
print(data.index)#获取行的索引名称
print(data.columns)#获取列的索引名称
print(data['姓名'])#获取列名为姓名这一列的内容
print(data.loc[0])#获取行名为0这一行的内容

4、对某一列的信息进行筛选

筛选使用的是data.loc[列名称 = 提取的信息]

假如我要提取院系下面的动力,代码如下:

import pandas as pd
path = 'G:\动力系\新建文件夹\什么.xls'
data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
result = data.loc[data['院系'] == '动力']#获取列明为院系,内容为动力的内容
print(result)

5、其他panda对Excel的操作

摘自:python中的dataframe的行、列切片等操作_春风若是你的博客-CSDN博客_dataframe按列切片icon-default.png?t=LA46https://blog.csdn.net/weixin_43245453/article/details/90056884

import numpy as np
import pandas as pd

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

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

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

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

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

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

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

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

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

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

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

C:\Users\innduce\Desktop\jianmo\Scripts\python.exe G:/untitled1/narry.py
    w   x   y   z
A   0   1   2   3
B   4   5   6   7
C   8   9  10  11
D  12  13  14  15
   w  x  y  z
A  0  1  2  3
B  4  5  6  7
+++++++++++++1111
4
4
+++++++++++++2222
Index(['w', 'x', 'y', 'z'], dtype='object')
Index(['A', 'B', 'C', 'D'], dtype='object')
+++++++++++++3333
w    4
x    5
y    6
z    7
Name: B, dtype: int32
+++++++++++++444
A     1
B     5
C     9
D    13
Name: x, dtype: int32
w    0
x    1
y    2
z    3
Name: A, dtype: int32
+++++++++++++555
    x   z
A   1   3
B   5   7
C   9  11
D  13  15
   x  z
A  1  3
B  5  7
+++++++++++++6666
   x   y
B  5   6
C  9  10
   x   y
A  1   2
C  9  10
+++++++++++++7777
      w     x     y   z
A   NaN   NaN   NaN   3
B   4.0   5.0   6.0   7
C   8.0   9.0  10.0  11
D  12.0  13.0  14.0  15
    w   x   y   z
C   8   9  10  11
D  12  13  14  15
+++++++++++++8888
   w  x   y   z
B  4  5   6   7
C  8  9  10  11
+++++++++++++9999
w    6.0
x    7.0
y    8.0
z    9.0
dtype: float64
13    1
5     1
9     1
1     1
Name: x, dtype: int64
+++++++++++++101010
               w          x          y          z
count   4.000000   4.000000   4.000000   4.000000
mean    6.000000   7.000000   8.000000   9.000000
std     5.163978   5.163978   5.163978   5.163978
min     0.000000   1.000000   2.000000   3.000000
25%     3.000000   4.000000   5.000000   6.000000
50%     6.000000   7.000000   8.000000   9.000000
75%     9.000000  10.000000  11.000000  12.000000
max    12.000000  13.000000  14.000000  15.000000

Process finished with exit code 0

标签:sheet,python,excel,+++++++++++++,一列,pd,print,data,pandas
来源: https://blog.csdn.net/qq_45769063/article/details/121172115

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

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

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

ICode9版权所有