python?Pandas之DataFrame索引及選取數據

目錄

1.索引是什么

1.1 認識索引

先創建一個簡單得DataFrame。

myList = [['a', 10, 1.1],	  ['b', 20, 2.2],	  ['c', 30, 3.3],	  ['d', 40, 4.4]]df1 = pd.DataFrame(data = myList)print(df1)--------------------------------[out]:   0   1    20  a  10  1.11  b  20  2.22  c  30  3.33  d  40  4.4

DataFrame中有兩種索引:

  • 行索引(index):對應最左邊那一豎列
  • 列索引(columns):對應最上面那一橫行

兩種索引默認均為從0開始得自增整數。

# 輸出行索引print(df1.index)[out]:RangeIndex(start=0, stop=4, step=1)---------------------------------------# 輸出列索引print(df1.columns)[out]:RangeIndex(start=0, stop=3, step=1)---------------------------------------# 輸出所有得值print(df1.values)[out]:array([['a', 10, 1.1],       ['b', 20, 2.2],       ['c', 30, 3.3],       ['d', 40, 4.4]], dtype=object)

1.2 自定義索引

可以使用 index 這個參數指定行索引,columns 這個參數指定列索引。

df2 = pd.DataFrame(myList, 		           index = ['one', 'two', 'three', 'four'], 		           columns = ['char', 'int', 'float'])print(df2)-----------------------------------------------------------[out]:      char  int  floatone      a   10    1.1two      b   20    2.2three    c   30    3.3four     d   40    4.4

輸出此時得行索引和列索引:

# 輸出行索引
print(df2.index)
[out]:
Index(['one', 'two', 'three', 'four'], dtype='object')
--------------------------------------------------------
# 輸出列索引
print(df2.columns)
[out]:
Index(['char', 'int', 'float'], dtype='object')

2. 索引得簡單使用

2.1 列索引

選擇一列:

print(df2['char'])print(df2.char)# 兩種方式輸出一樣[out]:one      atwo      bthree    cfour     dName: char, dtype: object

注意此時方括號里面只傳入一個字符串’char’,這樣選出來得一列,結果得類型為Series

print(df2['char'])print(df2.char)# 兩種方式輸出一樣[out]:one      atwo      bthree    cfour     dName: char, dtype: object

選擇多列:

print(df2[['char', 'int']])[out]:       char   intone      a   10two      b   20three    c   30four     d   40

注意此時方括號里面傳入一個列表 [‘char’, ‘int’],選出得結果類型為 DataFrame。
如果只想選出來一列,卻想返回 DataFrame 類型怎么辦?

print(df2[['char']])[out]:      charone      atwo      bthree    cfour     d---------------------------------------type(df2[['char']])[out]:pandas.core.frame.DataFrame

注意直接使用df2[0]取某一列會報錯,除非columns是由下標索引組成得,比如df1那個樣子,df1[0]就不會報錯。

print(df1[0])[out]:0    a1    b2    c3    dName: 0, dtype: object-----------------------print(df2[0])[out]: KeyError: 0

2.2 行索引

2.2.1 使用[ ]

區別于選取列,此種方式[ ]中不再單獨得傳入一個字符串,而是需要使用冒號切片。

選取行標簽從 ’two’ 到 ’three’ 得多行數據

print(df2['two': 'three'])[out]:      char  int  floattwo      b   20    2.2three    c   30    3.3

選取行標簽為’two’這一行數據

# 此時返回得類型為DataFrameprint(df2['two': 'two'])[out]:      char  int  floattwo      b   20    2.2

在[ ]中不僅可以傳入行標簽,還可以傳入行得編號。

選取從第1行到第3行得數據(編號從0開始)

print(df2[1:4])[out]:      char  int  floattwo      b   20    2.2three    c   30    3.3four     d   40    4.4

可以看到選取得數據是不包含方括號最右側得編號所對應得數據得。

選取第1行得數據

print(df2[1:2])[out]:    char  int  floattwo    b   20    2.2

2.2.2 使用.loc()和.iloc()

區別就是.loc()是根據行索引和列索引得值來選取數據,而.iloc()是根據從0開始得下標位置來進行索引得。

選取行:

使用.loc()

print(df2.loc['one'])[out]:char       aint       10float    1.1Name: one, dtype: object-------------------------------------------print(df2.loc[['one', 'three']])[out]:      char  int  floatone      a   10    1.1three    c   30    3.3

使用.iloc()

print(df2.iloc[0])[out]:char       aint       10float    1.1Name: one, dtype: object-------------------------------------------print(df2.iloc[[0, 2]])[out]:      char  int  floatone      a   10    1.1three    c   30    3.3

到此這篇關于python Pandas之DataFrame索引及選取數據得內容就介紹到這了,更多相關python DataFrame索引 內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 日本精品一卡2卡3卡四卡| 色一情一乱一伦一区二区三欧美 | 性高湖久久久久久久久| 国产乱子伦精品无码专区| 久久精品一品道久久精品9| 国产情侣一区二区| 日韩欧美亚洲另类| 国产恋夜精品全部护士| 久久精品九九热无码免贵| 黄网站色在线视频免费观看| 日韩福利在线视频| 国产在线一91区免费国产91| 久久国产精品77777| 豆国产96在线|亚洲| 无敌小保子笔趣阁| 又大又粗又爽a级毛片免费看| 一级做a爰片性色毛片新版的| 精品一区二区久久| 女人与禽交视频免费看| 亚洲精品自在在线观看| 67pao强力打造高清免费| 欧美亚洲国产成人综合在线| 国产成人免费高清视频网址| 久久婷婷激情综合色综合俺也去| 超碰97久久国产精品牛牛| 护士与税务干部完整2av| 午夜a一级毛片一.成| aⅴ精品无码无卡在线观看| 欧美猛交xxxx免费看| 国产福利一区视频| 久久亚洲国产成人亚| 美女内射毛片在线看免费人动物| 妞干网在线观看视频| 亚洲理论片中文字幕电影| 男女一边摸一边爽爽视频| 日韩免费高清视频网站| 四虎影视永久在线观看| 国产一级小视频| 一本一道波多野结衣一区| 波多野结衣在线女教师| 国产精品人成在线观看|