在python中處理日常資料時,經常會需要索引某些行,現結合本人使用經驗做乙個小的總結,pandas中主要有以下函式:
1、 loc
2、iloc
3、ix
首先來談談loc:
其是通過行標籤索引行資料
import pandas as pd
df = pd.dataframe(,
columns = ['team_a', 'team_b', 'score_a', 'score_b'])
dfout[2]:
team_a team_b score_a score_b
0 spain usa 5 4
1 germany argentina 3 0
2 brazil mexico 2 3
3 france belgium 0 0
如果我們索引第三行,則可以通過如下操作:
#當索引為整數時
df.loc[2]
out[3]:
team_a brazil
team_b mexico
score_a 2
score_b 3
name: 2, dtype: object
#當索引為字元時
df.loc['2']
結果類似
#索引多行
df.loc[:3]
out[5]:
team_a team_b score_a score_b
0 spain usa 5 4
1 germany argentina 3 0
2 brazil mexico 2 3
3 france belgium 0 0
#索引多行多列df.loc[2,['score_a','score_b']]
out[7]:
score_a 2
score_b 3
name: 2, dtype: object
其次是iloc—通過行號獲取行資料
如果想要獲取哪一行就輸入該行數字,如果通過行標籤索引會報錯:
#索引某一行,輸入該行數字
df.iloc[2]
out[10]:
team_a brazil
team_b mexico
score_a 2
score_b 3
name: 2, dtype: object
#索引多行
df.iloc[1:]
out[11]:
team_a team_b score_a score_b
1 germany argentina 3 0
2 brazil mexico 2 3
3 france belgium 0 0
#索引列
df.iloc[:,[2]]
out[15]:
score_a
0 5
1 3
2 2
3 0
最後是ix—結合前兩種的混合索引
ix是結合了前兩種方法,既可以通過行標籤也可以通過行數字進行索引,詳細如下:
import pandas as pd
df = pd.dataframe(,
columns = ['team_a', 'team_b', 'score_a', 'score_b'],
index=['one','two','three','four'])
#行號df.ix[2]
out[17]:
team_a brazil
team_b mexico
score_a 2
score_b 3
name: 2, dtype: object
#行標籤
df.ix['three']
out[26]:
team_a brazil
team_b mexico
score_a 2
score_b 3
name: three, dtype: object
終於在節前放假寫完了這一篇~ Pandas詳解之排序和排名
約定 import pandas as pd import numpy as np12 排序和排名 根據條件對series物件或dataframe物件的值排序 sorting 和排名 ranking 是一種重要的內建運算。接下來為大家介紹如何使用pandas物件的 sort index sort v...
pandas之重塑和軸向旋轉
對於dataframe,主要功能有 1 stack 將資料的列 旋轉 為行 2 unstack 將資料的行 旋轉 為列 例1 其中行列索引均為字串 data dataframe np.arange 6 reshape 2,3 index pd.index o c name state columns...
從IL看強制轉換和is,as
1.強制型別轉換。注意 下面的所有的il 都是release版,並且優化之後的。is和as的作用不多說,下面主要從il角度來看一下他們的工作原理。請看如下 class casttest 然後使用ildasm檢視他的il 如下 首先,使用ldstr指令將物件 ok 的引用載入到棧上,然後使用stloc...