回覆列表
-
1 # 客頁白勺示申
-
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
>>> 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
>>>
可以試試看