Python 帮同事用pandas快速筛选Excel文件

同事正在为怎样处理一个18万行的全年财务Excel文件发愁,文件足足有30M,打开文件也要两三分钟,于是他就向我求助。大概意思就是要筛选出Data工作簿“源数据”Sheet中所有收款人对应的付款人及付款笔数、金额小计,于是我简化做了一个表格,只有4个涉及到的列,随机数据200行用于测试。其实我也没好好学过pandas库的用法,只能边写代码边查库函数方法的帮助。

读者想测试的话把以下表格建一个Data.xlsx文件,放入工作表sheet改名为“源数据”:

序号付款人收款人摘要金额
1Fondue FredChris M.利息收入659023.50
2Fondue Fredcat u.奖金686397.39
3Peppermint GrillErin C.利息收入547630.80
4Viengvilay Thai CuisineRonyde R.工资729166.04
5Happy ValleySteven C.利息收入237085.82
6Pancho'sElise B.午餐补助445978.71
7Jasmine ThaiKelly J. 58789.61
8Fondue FredChris M.奖金269656.77
9Peppermint Grillcat u.电话费461892.01
10Viengvilay Thai CuisineErin C.利息收入898460.26
11Happy ValleyRonyde R.午餐补助253800.23
12Pancho'sSteven C. 369248.58
13Peking ExpressElise B.午餐补助909461.19
14Pho K & KKelly J.奖金636912.13
15Momo MasalaKreaky B.午餐补助294433.29
16Happy ValleyCharles L.利息收入98425.93
17Free Speech Movement CafeSV B.绩效奖385952.70
18Sun Hong Kong RestaurantEmmanuel K.电话费298993.76
19Tivoli CaffeHayne P.奖金362271.41
20Fondue FredChester R.奖金929680.70
21Pho K & KFrank E.电话费443264.47
22Momo Masalaian B.利息收入590357.56
23La Cascada TaqueriaAnand J.绩效奖120278.90
24Free Speech Movement CafeMichelle C.电话费363154.49
25Sun Hong Kong RestaurantConnie L.奖金772297.01
26Fondue FredChester R.绩效奖56434.60
27Jasmine ThaiFrank E.午餐补助676935.11
28Fondue Fredian B.绩效奖47426.88
29Peppermint GrillAnand J.工资26559.22
30Pancho'sMichelle C.午餐补助829193.46
31Happy ValleyConnie L.午餐补助790252.39
32Fondue FredChris M.奖金789003.64
33Peppermint Grillcat u.工资745933.99
34Viengvilay Thai CuisineErin C.工资236399.23
35Happy ValleyRonyde R.电话费586514.28
36Pancho'sSteven C.电话费704429.85
37Peking ExpressElise B.利息收入706649.53
38Pho K & KKelly J.利息收入798905.40
39Pancho'sKreaky B.午餐补助123342.41
40Pancho'sCharles L.利息收入684495.80
41Fondue FredSV B.工资759880.77
42Peppermint GrillEmmanuel K.奖金164258.96
43Viengvilay Thai CuisineChris M.午餐补助450074.73
44Happy Valleycat u.工资732141.47
45Pancho'sErin C.工资382335.59
46Peking ExpressRonyde R.电话费52157.74
47Pho K & KSteven C.奖金86584.79
48Pancho'sElise B.工资743686.70
49La Cascada TaqueriaKelly J.利息收入397502.25
50Free Speech Movement CafeKreaky B.奖金396860.39
51Fondue FredChris M.利息收入825482.56
52Fondue Fredcat u.绩效奖397166.24
53Jasmine ThaiErin C.利息收入116214.97
54Fondue FredRonyde R.利息收入478843.26
55Peppermint GrillSteven C.绩效奖607805.07
56Peking ExpressElise B.电话费839463.59
57Happy ValleyKelly J.绩效奖552333.25
58Pancho'sKreaky B.奖金264649.21
59Pancho'sCharles L.工资804044.64
60Pho K & KSV B.电话费188521.05
61Momo MasalaEmmanuel K.绩效奖548395.28
62La Cascada TaqueriaHayne P.电话费320491.57
63Pancho'sChester R.电话费564264.20
64Jasmine ThaiFrank E.电话费26548.08
65Fondue Fredian B.绩效奖561130.01
66Peppermint GrillAnand J.利息收入310639.75
67Viengvilay Thai CuisineMichelle C.午餐补助126372.01
68Happy ValleyConnie L.午餐补助283743.91
69Pancho'sCharles L.利息收入466645.47
70Peking ExpressSV B.利息收入790773.30
71Pho K & KEmmanuel K.午餐补助332421.10
72Momo MasalaHayne P.电话费304884.58
73La Cascada TaqueriaChester R.午餐补助478597.45
74Free Speech Movement CafeFrank E.电话费38349.75
75Sun Hong Kong Restaurantian B.午餐补助708450.80
76Jasmine ThaiAnand J.利息收入352943.26
77Fondue FredMichelle C.电话费84445.31
78Sun Hong Kong RestaurantConnie L.利息收入446377.36
79Viengvilay Thai CuisineChris M.午餐补助487447.24
80Happy Valleycat u.工资621560.18
81Pancho'sErin C.绩效奖738774.54
82Jasmine ThaiRonyde R.午餐补助878550.80
83Jasmine ThaiSteven C.工资606650.62
84Pancho'sElise B.利息收入652152.47
85Peppermint GrillKelly J.绩效奖49818.52
86Sun Hong Kong RestaurantKreaky B.奖金553236.99
87Happy ValleyCharles L.奖金753966.73
88Pancho'sSV B.奖金349994.17
89Jasmine ThaiEmmanuel K.午餐补助369869.21
90Fondue FredHayne P.工资901013.93
91Pancho'sChester R.奖金424058.34
92Viengvilay Thai CuisineChris M.奖金129926.48
93Happy Valleycat u.工资241263.49
94Pancho'sErin C.利息收入52658.55
95Peking ExpressRonyde R.利息收入574086.39
96Pancho'sSteven C.奖金329354.33
97Jasmine ThaiElise B.电话费772150.86
98Fondue FredKelly J.绩效奖778344.81
99Peppermint GrillKreaky B.工资121135.05
100Happy ValleyCharles L.午餐补助469759.67
101Happy ValleyKreaky B.奖金259231.87
102Pancho'sCharles L.利息收入283332.19
103Peking ExpressSV B.绩效奖137020.38
104Pho K & KEmmanuel K.绩效奖17895.81
105Momo MasalaHayne P.绩效奖487485.09
106La Cascada TaqueriaChester R.电话费713075.82
107Free Speech Movement CafeFrank E.利息收入516484.10
108Sun Hong Kong RestaurantChris M.绩效奖388540.27
109Peppermint Grillcat u.利息收入821033.66
110Sun Hong Kong RestaurantErin C.电话费141187.69
111Tivoli CaffeRonyde R.利息收入548204.84
112Peking ExpressSteven C.电话费187591.63
113Peking ExpressElise B.绩效奖422040.66
114Pho K & KKelly J.利息收入899000.90
115Momo MasalaKreaky B.奖金860487.16
116Pancho'sCharles L.奖金565460.00
117Jasmine ThaiSV B.电话费534439.95
118Fondue FredEmmanuel K.利息收入619974.15
119Sun Hong Kong RestaurantChris M.利息收入274497.93
120Happy Valleycat u.午餐补助435219.80
121Happy ValleyRonyde R.利息收入845869.39
122Pancho'sSteven C.电话费354800.67
123Peking ExpressElise B.电话费953247.52
124Pho K & KKelly J.电话费481924.05
125Momo MasalaKreaky B.绩效奖404013.01
126Happy ValleyCharles L.绩效奖769668.63
127Free Speech Movement CafeSV B.利息收入83031.82
128Sun Hong Kong RestaurantEmmanuel K.奖金631631.62
129Fondue FredHayne P.绩效奖736780.82
130Pancho'sChester R.奖金107541.96
131Viengvilay Thai CuisineFrank E.奖金867043.05
132Happy Valleyian B.利息收入225032.17
133Jasmine ThaiAnand J.工资826160.06
134Jasmine ThaiMichelle C.奖金575971.60
135Happy ValleyConnie L.奖金164416.13
136Jasmine ThaiHayne P.奖金919835.19
137Fondue FredChester R.工资554112.76
138Peppermint GrillFrank E.电话费370809.24
139Viengvilay Thai Cuisineian B.午餐补助789340.74
140Jasmine ThaiAnand J.利息收入982375.06
141Fondue FredChris M.午餐补助534441.78
142Fondue Fredcat u.午餐补助599801.16
143Pho K & KErin C.奖金506099.20
144Momo MasalaRonyde R.午餐补助950946.03
145La Cascada TaqueriaSteven C.午餐补助10551.28
146Free Speech Movement CafeElise B.工资229204.60
147Sun Hong Kong RestaurantKelly J.午餐补助202276.01
148Fondue FredKreaky B.奖金763411.47
149Pancho'sCharles L.午餐补助976836.74
150Viengvilay Thai CuisineSV B.午餐补助496867.88
151Happy ValleyEmmanuel K.奖金467356.72
152Pancho'sHayne P.午餐补助230336.90
153Pancho'sChester R.奖金98807.02
154Pancho'sFrank E.奖金513703.80
155Sun Hong Kong RestaurantChris M.绩效奖677359.51
156Peppermint Grillcat u.奖金466781.93
157Peppermint GrillErin C.奖金494887.11
158Viengvilay Thai CuisineRonyde R.绩效奖176694.60
159Happy ValleySteven C.电话费494562.02
160Peking ExpressElise B.电话费43667.96
161Peking ExpressKelly J.电话费199455.64
162Pho K & KKreaky B.工资930321.30
163Pancho'sCharles L.电话费892934.57
164La Cascada TaqueriaSV B.绩效奖945701.17
165Free Speech Movement CafeEmmanuel K.利息收入791487.49
166Sun Hong Kong RestaurantHayne P.奖金199182.63
167Pancho'sChester R.利息收入105630.46
168Jasmine ThaiFrank E.电话费46840.53
169Fondue FredChris M.电话费75215.16
170Peppermint Grillcat u.午餐补助861472.27
171Viengvilay Thai CuisineErin C.利息收入941311.72
172Pancho'sRonyde R.奖金603782.56
173Jasmine ThaiSteven C.利息收入223892.14
174Pancho'sElise B.午餐补助36541.45
175Peppermint GrillKelly J.工资100469.71
176Viengvilay Thai CuisineKreaky B.利息收入972305.84
177Happy ValleyCharles L.电话费121761.44
178Pancho'sSV B.奖金554869.14
179Peking ExpressEmmanuel K.午餐补助743767.26
180Fondue FredChris M.午餐补助739773.58
181Peppermint Grillcat u.利息收入470961.71
182Fondue FredChris M.奖金914168.37
183Happy Valleycat u.电话费541571.45
184Sun Hong Kong RestaurantErin C.电话费747813.23
185Pancho'sRonyde R.工资838643.84
186Jasmine ThaiElise B.午餐补助116906.23
187Fondue FredKelly J.奖金722424.95
188Peppermint GrillKreaky B.奖金644490.34
189Pancho'sCharles L.午餐补助569665.75
190Jasmine ThaiSV B.奖金880038.11
191Fondue FredEmmanuel K.奖金920473.88
192Fondue FredChris M.电话费845688.94
193Peppermint Grillcat u.电话费858955.41
194Fondue FredChris M.绩效奖938686.52
195Happy Valleycat u.利息收入527159.46
196Peking ExpressErin C.利息收入954028.67
197Pho K & KRonyde R.午餐补助612627.78
198Momo MasalaSteven C.奖金543399.13
199Pancho'sElise B.利息收入401039.35
200La Cascada TaqueriaSV B.绩效奖945701.17

程序执行后,输出的output.xlsx文件格式:

付款人收款人摘要金额笔数总笔数全部摘要
SV B.Viengvilay Thai Cuisine午餐补助496867.88113午餐补助
ian B.Viengvilay Thai Cuisine午餐补助789340.74113午餐补助
Erin C.Viengvilay Thai Cuisine利息收入2076171.21313利息收入、工资
Kreaky B.Viengvilay Thai Cuisine利息收入972305.84113利息收入
Frank E.Viengvilay Thai Cuisine奖金867043.05113奖金
Chris M.Viengvilay Thai Cuisine午餐补助1067448.45313奖金、午餐补助
Michelle C.Viengvilay Thai Cuisine午餐补助126372.01113午餐补助
Ronyde R.Viengvilay Thai Cuisine工资905860.64213工资、绩效奖
SV B.La Cascada Taqueria绩效奖1891402.3428绩效奖
Kelly J.La Cascada Taqueria利息收入397502.2518利息收入
Steven C.La Cascada Taqueria午餐补助10551.2818午餐补助
Hayne P.La Cascada Taqueria电话费320491.5718电话费
Chester R.La Cascada Taqueria午餐补助1191673.2728电话费、午餐补助
Anand J.La Cascada Taqueria绩效奖120278.918绩效奖
SV B.Free Speech Movement Cafe绩效奖468984.5228利息收入、绩效奖
Kreaky B.Free Speech Movement Cafe奖金396860.3918奖金
Elise B.Free Speech Movement Cafe工资229204.618工资
Frank E.Free Speech Movement Cafe电话费554833.8528电话费、利息收入
Emmanuel K.Free Speech Movement Cafe利息收入791487.4918利息收入
Michelle C.Free Speech Movement Cafe电话费363154.4918电话费
SV B.Fondue Fred工资759880.77128工资
ian B.Fondue Fred绩效奖608556.89228绩效奖
Kreaky B.Fondue Fred奖金763411.47128奖金
cat u.Fondue Fred奖金1683364.79328午餐补助、奖金、绩效奖
Hayne P.Fondue Fred工资1637794.75228工资、绩效奖
Emmanuel K.Fondue Fred利息收入1540448.03228利息收入、奖金
Chris M.Fondue Fred利息收入6591140.821028利息收入、电话费、奖金、午餐补助、绩效奖
Chester R.Fondue Fred奖金1540228.06328奖金、绩效奖、工资
Kelly J.Fondue Fred绩效奖1500769.76228奖金、绩效奖
Ronyde R.Fondue Fred利息收入478843.26128利息收入
Michelle C.Fondue Fred电话费84445.31128电话费
Connie L.Sun Hong Kong Restaurant奖金1218674.37213利息收入、奖金
ian B.Sun Hong Kong Restaurant午餐补助708450.8113午餐补助
Erin C.Sun Hong Kong Restaurant电话费889000.92213电话费
Kreaky B.Sun Hong Kong Restaurant奖金553236.99113奖金
Hayne P.Sun Hong Kong Restaurant奖金199182.63113奖金
Emmanuel K.Sun Hong Kong Restaurant电话费930625.38213电话费、奖金
Chris M.Sun Hong Kong Restaurant绩效奖1340397.71313利息收入、绩效奖
Kelly J.Sun Hong Kong Restaurant午餐补助202276.01113午餐补助
SV B.Pancho's奖金904863.31234奖金
Erin C.Pancho's工资1173768.68334利息收入、工资、绩效奖
Kreaky B.Pancho's午餐补助387991.62234奖金、午餐补助
Elise B.Pancho's午餐补助2279398.68534利息收入、工资、午餐补助
Charles L.Pancho's利息收入5243415.16834利息收入、电话费、工资、奖金、午餐补助
Chester R.Pancho's电话费1300301.98534电话费、利息收入、奖金
Hayne P.Pancho's午餐补助230336.9134午餐补助
Frank E.Pancho's奖金513703.8134奖金
Michelle C.Pancho's午餐补助829193.46134午餐补助
Steven C.Pancho's空值1757833.43434电话费、奖金、空值
Ronyde R.Pancho's奖金1442426.4234奖金、工资
ian B.Momo Masala利息收入590357.5619利息收入
Kreaky B.Momo Masala午餐补助1558933.4639奖金、午餐补助、绩效奖
Hayne P.Momo Masala电话费792369.6729电话费、绩效奖
Emmanuel K.Momo Masala绩效奖548395.2819绩效奖
Steven C.Momo Masala奖金543399.1319奖金
Ronyde R.Momo Masala午餐补助950946.0319午餐补助
Connie L.Happy Valley午餐补助1238412.43323奖金、午餐补助
ian B.Happy Valley利息收入225032.17123利息收入
Kelly J.Happy Valley绩效奖552333.25123绩效奖
Kreaky B.Happy Valley奖金259231.87123奖金
cat u.Happy Valley工资3098915.85623电话费、利息收入、工资、午餐补助
Charles L.Happy Valley利息收入2213582.4523利息收入、电话费、奖金、午餐补助、绩效奖
Emmanuel K.Happy Valley奖金467356.72123奖金
Steven C.Happy Valley利息收入731647.84223利息收入、电话费
Ronyde R.Happy Valley午餐补助1686183.9323电话费、利息收入、午餐补助
Anand J.Jasmine Thai利息收入2161478.38318利息收入、工资
SV B.Jasmine Thai电话费1414478.06218电话费、奖金
Erin C.Jasmine Thai利息收入116214.97118利息收入
Elise B.Jasmine Thai电话费889057.09218电话费、午餐补助
Steven C.Jasmine Thai工资830542.76218利息收入、工资
Hayne P.Jasmine Thai奖金919835.19118奖金
Emmanuel K.Jasmine Thai午餐补助369869.21118午餐补助
Frank E.Jasmine Thai午餐补助750323.72318电话费、午餐补助
Kelly J.Jasmine Thai空值58789.61118空值
Ronyde R.Jasmine Thai午餐补助878550.8118午餐补助
Michelle C.Jasmine Thai奖金575971.6118奖金
Hayne P.Tivoli Caffe奖金362271.4112奖金
Ronyde R.Tivoli Caffe利息收入548204.8412利息收入
SV B.Peking Express利息收入927793.68214利息收入、绩效奖
Erin C.Peking Express利息收入954028.67114利息收入
Kelly J.Peking Express电话费199455.64114电话费
Elise B.Peking Express午餐补助3874530.45614利息收入、电话费、午餐补助、绩效奖
Emmanuel K.Peking Express午餐补助743767.26114午餐补助
Steven C.Peking Express电话费187591.63114电话费
Ronyde R.Peking Express电话费626244.13214电话费、利息收入
SV B.Pho K & K电话费188521.05112电话费
Erin C.Pho K & K奖金506099.2112奖金
Kreaky B.Pho K & K工资930321.3112工资
Steven C.Pho K & K奖金86584.79112奖金
Emmanuel K.Pho K & K午餐补助350316.91212绩效奖、午餐补助
Frank E.Pho K & K电话费443264.47112电话费
Kelly J.Pho K & K奖金2816742.48412利息收入、奖金、电话费
Ronyde R.Pho K & K午餐补助612627.78112午餐补助
Anand J.Peppermint Grill工资337198.97218利息收入、工资
Erin C.Peppermint Grill利息收入1042517.91218利息收入、奖金
Kelly J.Peppermint Grill绩效奖150288.23218工资、绩效奖
Kreaky B.Peppermint Grill工资765625.39218工资、奖金
cat u.Peppermint Grill电话费4687030.98718电话费、利息收入、工资、奖金、午餐补助
Emmanuel K.Peppermint Grill奖金164258.96118奖金
Frank E.Peppermint Grill电话费370809.24118电话费
Steven C.Peppermint Grill绩效奖607805.07118绩效奖

源代码20行(其中有6行是测试用时的代码可以去除)如下:

import time, pandas as pd
def tprint(info): print(info); return time.time()
t1 = tprint('正在读取数据,请稍候...')
df = pd.read_excel('data.xlsx', sheet_name='源数据')
t2 = tprint('正在数据计算,请稍候...')
ls, label = [], ('付款人','收款人','摘要','金额','笔数','总笔数','全部摘要')
for 收款人 in df.收款人.unique():
    付款人 = df[df.收款人==收款人].付款人
    总笔数 = 付款人.shape[0]
    for 付款人 in 付款人.unique():
        数集 = df[(df.收款人==收款人) & (df.付款人==付款人)].fillna('空值')
        笔数, 金额 = 数集.shape[0], 数集.金额.sum().round(2)
        摘要,全部摘要 = 数集.摘要.iloc()[0], "、".join(数集.摘要.unique())
        ls.append('~'.join(map(str,(eval(_) for _ in label))).split("~"))
data = pd.DataFrame(ls, columns=label).sort_values(by='收款人')
data.金额, data.笔数, data.总笔数 = data.金额.astype('float'),data.笔数.astype('int'),data.总笔数.astype('int')
t3 = tprint('正在写入文件,请稍候...')
data.to_excel('output1.xlsx', sheet_name='Sheet1',index=False)
t4 = time.time()
print(f'读取耗时:{t2-t1:.3f}s\n计算耗时:{t3-t2:.3f}s\n写入耗时:{t4-t3:.3f}s\n共计耗时:{t4-t1:.3f}s')

测试效果:

正在读取数据,请稍候...
正在数据计算,请稍候...
正在写入文件,请稍候...
读取耗时:0.859s
计算耗时:0.314s
写入耗时:0.063s
共计耗时:1.236s

处理那个30M的文件时,因为列名一样,都不用改代码。实测读取用了58秒,计算用1600秒,共计用时28分钟左右,完美完成筛选任务。

边学边写的代码,可能就根本没用到pandas的精华所在。但也谈谈代码中几个注意点:

1. python 支持中文名变量,直接用列名作变量有好处,省得注释以及想很多变量名称来命名。

2. DataFrame筛选条件的逻辑运算用 & | ,其运算级别高于“大于”“小于”“等于”等,所以括号不能省。如代码中的: df[(df.收款人==收款人) & (df.付款人==付款人)]

3. 取DataFrame的列,可以用 df['收款人'] 也能用 df.收款人,我觉得用后者更方便点。

4. 源数据“摘要”列中有空单元格,读入DataFrame中后其值为nan,这个起先没注意到代码一直报错。后查询到df有.fillna()方法可以替换掉空值。

5. 求行数可以直接用len(df)求,也可用df.shape()方法返回一个元组:(行数、列数)。

6. 行数据我用了一句代码 '~'.join(map(str,(eval(_) for _ in label))).split("~") 合并后分割成列表。意思是从元组中取数eval转成变量,再把当层循环的变量值转字符型合并最后分割,字符“~”任意取其它字符来替代,但不能在数据中出现过否则分割列数不正常。

7. 数值类型的列都要用.astype()转回相应的数值类型,否则得到的.xlsx文件中数值列都是文本型数字(Excel中表现为单元格左上角有绿色小三角),不便于统计合计数。如:
   data.金额 = data.金额.astype('float')
   data.笔数 = data.笔数.astype('int')

8. df.unique()是去重方法,相当于用set()给列表去重;df.sort_values(by='',acending=True)是排序方法,升序或降序scending=True表示升序,ascending=False表示降序,默认为升序。

(本文完)


附pandas学习图一张:

### 回答1: Python pandas可以通过以下步骤筛选Excel数据: 1. 使用pandas库中的read_excel()函数读取Excel文件,将数据读入到DataFrame中。 2. 使用DataFrame中的loc[]函数或者iloc[]函数,根据条件筛选需要的数据。 3. 将筛选后的数据保存到Excel文件中,可以使用to_excel()函数。 例如,以下代码可以读取Excel文件中的数据,并筛选出“销售额”大于100的数据: ``` import pandas as pd # 读取Excel文件 df = pd.read_excel('data.xlsx') # 筛选销售额大于100的数据 df_filtered = df.loc[df['销售额'] > 100] # 将筛选后的数据保存到Excel文件中 df_filtered.to_excel('filtered_data.xlsx', index=False) ``` 以上代码中,'data.xlsx'是要读取的Excel文件名,'销售额'是Excel文件中的列名,'filtered_data.xlsx'是保存筛选数据Excel文件名。 ### 回答2: Python是一种面向对象的动态编程语言,很适合数据分析、数据挖掘和数据科学等领域的应用。PandasPython的一个数据分析库,它提供了很多有用的数据结构和函数,使得Python更具备分析和处理数据的能力。 Pandas可以轻松地读取、处理和操作Excel文件,提供各种方法和工具来筛选数据。以下是在Python Pandas筛选Excel数据的基本步骤: 1. 导入Pandas库,可以使用以下代码: ``` import pandas as pd ``` 2. 读取Excel文件,常用的方法是使用read_excel()函数,如下所示: ``` df = pd.read_excel('filename.xlsx') ``` 3. 查看数据,可以使用head()函数查看前几行数据,如下所示: ``` print(df.head()) ``` 4. 根据条件筛选数据,如下面的例子中,我们将从df中筛选出所有'Male'性别的数据: ``` male = df[(df['Gender'] == 'Male')] ``` 5. 可以使用多个条件来筛选数据,如下例子所示,我们将从df中筛选出'Male'性别中'Software Engineer'职位的数据: ``` male_software = df[(df['Gender'] == 'Male') & (df['Job Title'] == 'Software Engineer')] ``` 6. 可以使用类似于SQL的关键字来进行筛选,如下所示: ``` df.query("Gender == 'Male' and `Job Title` == 'Software Engineer'") ``` 7. 根据列的值排序数据,可以使用sort_values()函数,如下所示: ``` df.sort_values('Salary', inplace=True) ``` 8. 保存结果,可以使用to_excel()函数保存结果到Excel文件,如下所示: ``` male_software.to_excel('result.xlsx', index=False) ``` 以上就是在Python Pandas筛选Excel数据的基本步骤。筛选Excel数据数据分析和科学的重要环节,Pandas使得这个过程更加简单和自动化。 ### 回答3: PandasPython编程语言中的数据处理包,它能够很方便地对数据进行筛选和分析。Pandas主要使用的是DataFrame对象完成数据处理,其具有类似于Excel电子表格的形式,数据以行和列的形式组织。DataFrame是Pandas中最重要的数据结构,通常它会使用read_excel()函数将Excel文件转换为DataFrame格式,实现数据筛选和分析。 通常使用Pandas筛选Excel数据可以分为以下步骤: 1. 导入必要的模块和Excel数据 要使用Pandas进行数据处理,我们需要首先导入Python中相应的模块包,如pandas和numpy等。同时,我们需要将需要筛选Excel数据导入到Python中,并将其转化为DataFrame数据结构,此时使用read_excel()函数是比较方便的。 2. 数据清洗 在导入Excel数据后,我们需要对数据进行整理和清洗,删除缺失值和重复值以保证数据的完整性。 3. 数据筛选数据整理好后,可以对DataFrame数据表进行筛选。通常情况下,我们可以使用Pandas的布尔索引功能对数据进行筛选。布尔索引是以布尔运算为条件的索引方式,以创建一个筛选器数组来选择DataFrame对象中的特定行、列等。 4. 数据可视化 最后一个步骤是将筛选出来的数据进行可视化展示,可以使用Python中的matplotlib或seaborn等库进行数据可视化。 总之,PythonPandasExcel数据处理方面具有很大的优势和便利,可以快速地对数据进行筛选、分析和可视化等操作。以上是Pandas筛选Excel数据的一般步骤,具体还需根据实际场景来设计和实现。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hann Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值