回覆列表
  • 1 # 客頁白勺示申

    >>> import numpy as np

    >>> import pandas as pd

    >>> index=np.array([2,4,6,8,10])

    >>> data=np.array([3,5,7,9,11])

    >>> data=pd.DataFrame({"num":data},index=index)

    >>> print(data)

    num

    2 3

    4 5

    6 7

    8 9

    10 11

    >>> select_index=index[index>5]

    >>> print(select_index)

    [ 6 8 10]

    >>> data["num"].loc[select_index]

    6 7

    8 9

    10 11

    Name: num, dtype: int32

    >>>

    注意,不能用iloc,iloc是將序列當作陣列來訪問,下標又會從0開始:

    >>> data["num"].iloc[2:5]

    6 7

    8 9

    10 11

    Name: num, dtype: int32

    >>> data["num"].iloc[[2,3,4]]

    6 7

    8 9

    10 11

    Name: num, dtype: int32

    >>>

    可以試試看

  • 2 # AniPython

    1) 選一行, 返回一個Series

    df.loc["x"] # 標籤索引df.iloc[1] # 數字索引

    2) 選一行, 返回一個DataFrame

    df.loc[["x"]] # 標籤索引df.iloc[[1]] # 數字索引

    3) 選多行, 返回一個DataFrame

    df.loc[["x","y","z"]] # 標籤索引 df.iloc[[1, 3, 5]] # 數字索引

    4) 切片方式選多行, 返回一個DataFrame

    df.loc["x":"z"] # 包括 "z"df.iloc[1:3] # 不包括3

  • 中秋節和大豐收的關聯?
  • 牛仔寬腿褲如何搭配上衣?