日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【python pandas excel操作】

發布時間:2023/12/10 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python pandas excel操作】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1、打開Excel,獲取不同sheet的名稱

2、獲取不同sheet的內容

3、 獲取行數以及表頭

4、對某一列的信息進行篩選

5、根據列號和索引號提取一行或者一列的數據

6、其他panda對Excel的操作


?摘自:python對excel操作獲取某一列,某一行的值,對某一列信息篩選_春風若是你的博客-CSDN博客_python遍歷excel某行某列所有數據https://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、根據列號和索引號提取一行或者一列的數據

第4條是根據列名稱和行名稱來提取一行或者一列的數據,若需要根據行號和列號(索引)來提取一行或者一列的數據則需要先將panda讀取得到的數據先轉換為數組,然后進行切片讀取即可

def getData(xlsPath):data = read_excel(xlsPath, None) # 讀取數據,設置None可以生成一個字典,字典中的key值即為sheet名字,此時不用使用DataFram,會報錯sheetNames = data.keys()# 獲取所有sheet的名稱# bodys, names, name_money = [],[],{}for sheetName in sheetNames:sh_data = DataFrame(read_excel(xlsPath, sheetName)) # 獲得每一個sheet中的內容# print(np.array(sh_data))# 獲取指定字段的一列內容,類型為<class 'pandas.core.series.Series'># bodys_ = sh_data["部位"]# names_ = sh_data["報告醫生"]bodys_ = np.array(sh_data)[:,7] # 先將pandas類型轉化為數組,再根據索引取值names_ = np.array(sh_data)[:,16]# 轉化為列表bodys = list(bodys_)names = list(names_)return bodys,names

# 獲得一個sheet表格的所有內容

?sh_data = DataFrame(read_excel(xlsPath, sheetName))? # 獲得每一個sheet中的內容

# 轉換為數組

sh_data = np.array(sh_data)

# 切片操作,分別讀取第i列和第j行

i_column = sh_data[:,i]

j_row = sh_data[j,:]

6、其他panda對Excel的操作

摘自:python中的dataframe的行、列切片等操作_春風若是你的博客-CSDN博客_dataframe按列切片https://blog.csdn.net/weixin_43245453/article/details/90056884

import numpy as np import pandas as pddata = 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

總結

以上是生活随笔為你收集整理的【python pandas excel操作】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。