1.篩選方式1:直接篩選
#直接篩選
#DataFrame索引使用[],
#直接索引語法:df[]
1.1 直接篩選,選擇單列數(shù)據(jù):df["列"]
1.2直接篩選,選擇多列數(shù)據(jù):df[["列1","列2"]](注意:多嵌套列)
1.3直接篩選,選擇多行數(shù)據(jù):df[2:4]按照位置選取連續(xù)的行(切片),前閉后開
2.篩選方式2:條件篩選
#('----------篩選方式2:條件篩選-------------')
#條件篩選
#布爾索引(帶條件判斷的索引):根據(jù)布爾條件選擇對應的行
#索引列表中可以使用&、|操作符,但是不能用and、or關鍵詞
#布爾選擇的結(jié)果還是DataFrame,所以對于結(jié)果可以進行切片、索引器等訪問
2.1:單列布爾選擇,df[(df["列"]==條件)]選取某列滿足一定條件的行
2.2:多列布爾選擇,df[(df["列1"]==條件&df["列1"]>條件)]選取多列滿足一定條件的行
3.篩選方式3:篩選器篩選
#在Pandas兩種數(shù)據(jù)結(jié)構(gòu)中,原始索引(位置信息)和自定義索引(標簽信息)并存
#原始索引(位置信息):小標,即行數(shù)組0,1,2,3標號;列數(shù)組0,1,2,3標號
#自定義索引(標簽信息):小標,即行數(shù)組0,1,2,3標號,列名(代碼,資產(chǎn),負債,所有者權(quán)益)
#loc索引器:只能使用自定義索引,如果數(shù)據(jù)中沒有自定義索引,則使用原始索引。
#根據(jù)行索引和列索引進行選取:先行后列,也可以只選取行索引,
#常見形式如下 1.選擇單行/多行數(shù)據(jù);
#? ? ? ? ? ? ? ? ? ? ? 2.選擇多行多列數(shù)據(jù),通過兩個列表選取行列組合;
#? ? ? ? ? ? ? ? ? ? ? ?3.loc布爾選擇,按照條件選取單列(多列)滿足一定條件的行;
#? ? ? ? ? ? ? ? ? ? ? 4.loc切片(選擇連續(xù)的多行多列),通過切片選取連續(xù)的行列組合,冒號前后留空代表開口;
#iloc索引器:iloc索引器與loc索引器使用幾乎相同。
#iloc索引器只能使用原始索引(位置信息),不能使用自定義索引
import pandas as pd
#('----------篩選方式1:直接篩選-------------')
#直接篩選
#DataFrame索引使用[],
#直接索引語法:df[]
df1=pd.read_excel(r'C:\Benjamin\Benjamin\Benjamin\Python\Study_example\Demo_panada\demo1.4\TEST1.4.xlsx')
print('----------讀取表格行,列-------------')
print(df1.shape)
print('----------讀取表格行,列結(jié)束-------------')
print('----------讀取表頭(默認前5行)-------------')
print(df1.head())
print('----------讀取表頭結(jié)束-------------')
print('----------讀取表尾(默認后5行)-------------')
print(df1.tail())
print('----------讀取表尾結(jié)束-------------')
#print(old[''])
#1.4.1:直接篩選,選擇單列數(shù)據(jù):df["列"]
print('----------選擇單列數(shù)據(jù),比如:資產(chǎn)列-------------')
print(df1["資產(chǎn)"].head())
print('----------選擇單列數(shù)據(jù)結(jié)束-------------')
#1.4.2:直接篩選,選擇多列數(shù)據(jù):df[["列1","列2"]](注意:多嵌套列)
print('----------選擇多列數(shù)據(jù),比如:資產(chǎn)列,負債列-------------')
print(df1[["資產(chǎn)","負債"]].head())
print('----------選擇多列數(shù)據(jù)結(jié)束-------------')
#1.4.3:直接篩選,選擇多行數(shù)據(jù):df[2:4]按照位置選取連續(xù)的行(切片),前閉后開
print('----------選擇多行數(shù)據(jù),切片-------------')
print(df1[2:4])
print('----------選擇多行數(shù)據(jù)結(jié)束-------------')
#('----------篩選方式2:條件篩選-------------')
#條件篩選
#布爾索引(帶條件判斷的索引):根據(jù)布爾條件選擇對應的行
#索引列表中可以使用&、|操作符,但是不能用and、or關鍵詞
#布爾選擇的結(jié)果還是DataFrame,所以對于結(jié)果可以進行切片、索引器等訪問
#1.5.1:單列布爾選擇,df[(df["列"]==條件)]選取某列滿足一定條件的行
print('----------選擇滿足條件的列,比如資產(chǎn)>130的行-------------')
print(df1[(df1["資產(chǎn)"]>130)])
print('----------選擇多行數(shù)據(jù)結(jié)束-------------')
#1.5.2:多列布爾選擇,df[(df["列1"]==條件&df["列1"]>條件)]選取多列滿足一定條件的行
print('----------選擇滿足條件的列,比如資產(chǎn)>130的行-------------')
print(df1[(df1["資產(chǎn)"]>130)&(df1["負債"]<48)])
print('----------選擇滿足條件的行數(shù)據(jù)結(jié)束-------------')
#('----------篩選方式3:索引器篩選-------------')
#在Pandas兩種數(shù)據(jù)結(jié)構(gòu)中,原始索引(位置信息)和自定義索引(標簽信息)并存
#原始索引(位置信息):小標,即行數(shù)組0,1,2,3標號;列數(shù)組0,1,2,3標號
#自定義索引(標簽信息):小標,即行數(shù)組0,1,2,3標號,列名(代碼,資產(chǎn),負債,所有者權(quán)益)
#loc索引器:只能使用自定義索引,如果數(shù)據(jù)中沒有自定義索引,則使用原始索引。
#根據(jù)行索引和列索引進行選?。合刃泻罅?,也可以只選取行索引,
#常見形式如下 1.選擇單行/多行數(shù)據(jù);
# 2.選擇多行多列數(shù)據(jù),通過兩個列表選取行列組合;
# 3.loc布爾選擇,按照條件選取單列(多列)滿足一定條件的行;
# 4.loc切片(選擇連續(xù)的多行多列),通過切片選取連續(xù)的行列組合,冒號前后留空代表開口;
#1.6.1:選擇單行/多行數(shù)據(jù):df.loc['行']、df.loc[['行1','行2']](注意:多嵌套列)
print('----------loc行名選擇-------------')
print(df1.loc[1])
print(df1.loc[[1,3]])
print('----------選擇多行數(shù)據(jù)結(jié)束-------------')
#1.6.2:選擇多行/多列數(shù)據(jù):df.loc[['行1','行2'],['列1','列2']](注意:多嵌套列)
print('----------loc行列選擇-------------')
print(df1.loc[[1,2],["資產(chǎn)","負債"]])
print(df1.loc[[6,7],["資產(chǎn)","負債"]])
print('----------選擇多行數(shù)據(jù)結(jié)束-------------')
#1.6.3:loc切片,(選擇多行/多列數(shù)據(jù)):df.loc['行1':'行2','列1':'列2']
print('----------loc切片行列選擇-------------')
print(df1.loc[1:4,:"負債"])
print(df1.loc[6:8,"資產(chǎn)":"負債"])
print('----------loc切片數(shù)據(jù)結(jié)束-------------')
#iloc索引器:iloc索引器與loc索引器使用幾乎相同。
#iloc索引器只能使用原始索引(位置信息),不能使用自定義索引
print('----------iloc切片行列選擇-------------')
print(df1.loc[1:4,:"負債"])
print(df1.iloc[1:4,:3])
print('----------iloc切片數(shù)據(jù)結(jié)束-------------')
輸出結(jié)果:文章來源:http://www.zghlxwxcb.cn/news/detail-567887.html
----------讀取表格行,列-------------
(40, 4)
----------讀取表格行,列結(jié)束-------------
----------讀取表頭(默認前5行)-------------
? ?代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
0 ? 1 ?100 ?11 ?1111234
1 ? 2 ?101 ?12 ?1111235
2 ? 3 ?102 ?13 ?1111236
3 ? 4 ?103 ?14 ?1111237
4 ? 5 ?104 ?15 ?1111238
----------讀取表頭結(jié)束-------------
----------讀取表尾(默認后5行)-------------
? ? 代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
35 ?36 ?135 ?46 ?1111269
36 ?37 ?136 ?47 ?1111270
37 ?38 ?137 ?48 ?1111271
38 ?39 ?138 ?49 ?1111272
39 ?40 ?139 ?50 ?1111273
----------讀取表尾結(jié)束-------------
----------選擇單列數(shù)據(jù),比如:資產(chǎn)列-------------
0 ? ?100
1 ? ?101
2 ? ?102
3 ? ?103
4 ? ?104
Name: 資產(chǎn), dtype: int64
----------選擇單列數(shù)據(jù)結(jié)束-------------
----------選擇多列數(shù)據(jù),比如:資產(chǎn)列,負債列-------------
? ? 資產(chǎn) ?負債
0 ?100 ?11
1 ?101 ?12
2 ?102 ?13
3 ?103 ?14
4 ?104 ?15
----------選擇多列數(shù)據(jù)結(jié)束-------------
----------選擇多行數(shù)據(jù),切片-------------
? ?代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
2 ? 3 ?102 ?13 ?1111236
3 ? 4 ?103 ?14 ?1111237
----------選擇多行數(shù)據(jù)結(jié)束-------------
----------選擇滿足條件的列,比如資產(chǎn)>130的行-------------
? ? 代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
31 ?32 ?131 ?42 ?1111265
32 ?33 ?132 ?43 ?1111266
33 ?34 ?133 ?44 ?1111267
34 ?35 ?134 ?45 ?1111268
35 ?36 ?135 ?46 ?1111269
36 ?37 ?136 ?47 ?1111270
37 ?38 ?137 ?48 ?1111271
38 ?39 ?138 ?49 ?1111272
39 ?40 ?139 ?50 ?1111273
----------選擇多行數(shù)據(jù)結(jié)束-------------
----------選擇滿足條件的列,比如資產(chǎn)>130的行-------------
? ? 代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
31 ?32 ?131 ?42 ?1111265
32 ?33 ?132 ?43 ?1111266
33 ?34 ?133 ?44 ?1111267
34 ?35 ?134 ?45 ?1111268
35 ?36 ?135 ?46 ?1111269
36 ?37 ?136 ?47 ?1111270
----------選擇滿足條件的行數(shù)據(jù)結(jié)束-------------
----------loc行名選擇-------------
代碼 ? ? ? ? ? ? 2
資產(chǎn) ? ? ? ? ? 101
負債 ? ? ? ? ? ?12
所有者權(quán)益 ? ?1111235
Name: 1, dtype: int64
? ?代碼 ? 資產(chǎn) ?負債 ? ?所有者權(quán)益
1 ? 2 ?101 ?12 ?1111235
3 ? 4 ?103 ?14 ?1111237
----------選擇多行數(shù)據(jù)結(jié)束-------------
----------loc行列選擇-------------
? ? 資產(chǎn) ?負債
1 ?101 ?12
2 ?102 ?13
? ? 資產(chǎn) ?負債
6 ?106 ?17
7 ?107 ?18
----------選擇多行數(shù)據(jù)結(jié)束-------------
----------loc切片行列選擇-------------
? ?代碼 ? 資產(chǎn) ?負債
1 ? 2 ?101 ?12
2 ? 3 ?102 ?13
3 ? 4 ?103 ?14
4 ? 5 ?104 ?15
? ? 資產(chǎn) ?負債
6 ?106 ?17
7 ?107 ?18
8 ?108 ?19
----------loc切片數(shù)據(jù)結(jié)束-------------
----------iloc切片行列選擇-------------
? ?代碼 ? 資產(chǎn) ?負債
1 ? 2 ?101 ?12
2 ? 3 ?102 ?13
3 ? 4 ?103 ?14
4 ? 5 ?104 ?15
? ?代碼 ? 資產(chǎn) ?負債
1 ? 2 ?101 ?12
2 ? 3 ?102 ?13
3 ? 4 ?103 ?14
----------iloc切片數(shù)據(jù)結(jié)束-------------文章來源地址http://www.zghlxwxcb.cn/news/detail-567887.html
到了這里,關于Python:使用pandas對excel數(shù)據(jù)篩選選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!