pyspark.pandas.DataFrame.reindex¶
-
DataFrame。
重建索引
( 標簽:可選(序列(任何]]=沒有一個,指數:聯盟(指數序列(任何),沒有一個)=沒有一個,列:(pandas.core.indexes.base聯盟。指數序列(任何),沒有一個)=沒有一個,軸:聯盟(int, str,沒有)=沒有一個,複製:可選(bool]=真正的,fill_value:可選(任何]=沒有一個 )→DataFrame¶ -
符合DataFrame與可選填新索引邏輯,把NA /南在前麵的位置沒有價值指數。產生一個新對象,除非新索引相當於當前
複製= False
。- 參數
-
- 標簽:數組類,可選的
-
新標簽/指數符合指定的軸“軸”。
- 索引列:數組類,可選的
-
新標簽/指數符合,應該使用關鍵字指定。最好是避免重複數據索引對象
- 軸:int或str,可選的
-
軸向的目標。可以是軸名稱(“指數”、“列”)或數字(0,1)。
- 複製 bool,默認的真
-
返回一個新對象,即使通過索引都是相同的。
- fill_value 標量,默認np.NaN
-
值用缺失值。默認為南,但可以是任何“兼容”的價值。
- 返回
-
- DataFrame變化指數。
另請參閱
-
DataFrame.set_index
-
設置行標簽。
-
DataFrame.reset_index
-
刪除行標簽或其移到新的列。
例子
DataFrame.reindex
支持兩種調用約定(指數= index_labels,列= column_labels,…)
(標簽,軸={“指數”,“列”},…)
我們高度建議使用關鍵字參數來闡明你的意圖。
創建一個dataframe一些虛構的數據。
> > >指數=(“火狐”,“鉻”,“旅行”,“問世”,“Konqueror”]> > >df=ps。DataFrame({…“http_status”:(200年,200年,404年,404年,301年),…“response_time”:(0.04,0.02,0.07,0.08,1.0)},…指數=指數,…列=(“http_status”,“response_time”])> > >dfhttp_status response_timeFirefox 0.04 200Chrome 0.02 200Safari 0.07 404IE10 404 0.08Konqueror 301 1.00
創建一個新的索引,dataframe重建索引。默認值的新索引沒有dataframe分配相應的記錄
南
。> > >new_index=(“旅行”,“Iceweasel”,科摩多龍的,“問世”,…“鉻”]> > >df。重建索引(new_index)。sort_index()http_status response_timeChrome 200.0 - 0.02科摩多龍南南IE10 404.0 - 0.08Iceweasel南南Safari 404.0 - 0.07
我們可以填充缺失的值通過關鍵字的值
fill_value
。> > >df。重建索引(new_index,fill_value=0,複製=假)。sort_index()http_status response_timeChrome 0.02 200科摩多龍0 0.00IE10 404 0.08Iceweasel 0 0.00Safari 0.07 404
我們也可以重建索引的列。
> > >df。重建索引(列=(“http_status”,“user_agent”])。sort_index()http_status user_agent鉻200南火狐200南問世404年南Konqueror 301南Safari 404南
或者我們可以使用“axis-style”關鍵字參數
> > >df。重建索引([“http_status”,“user_agent”),軸=“列”)。sort_index()http_status user_agent鉻200南火狐200南問世404年南Konqueror 301南Safari 404南
進一步說明灌裝功能
重建索引
,我們將創建一個dataframe單調遞增指數(例如,一個序列的日期)。> > >date_index=pd。date_range(“1/1/2010”,期=6,頻率=' D ')> > >df2=ps。DataFrame({“價格”:(One hundred.,101年,np。南,One hundred.,89年,88年)},…指數=date_index)> > >df2。sort_index()價格2010-01-01 100.02010-01-02 101.02010-01-03南2010-01-04 100.02010-01-05 89.02010-01-06 88.0
假設我們決定擴大dataframe覆蓋更廣泛的日期範圍。
> > >date_index2=pd。date_range(“12/29/2009”,期=10,頻率=' D ')> > >df2。重建索引(date_index2)。sort_index()價格2009-12-29南2009-12-30南2009-12-31南2010-01-01 100.02010-01-02 101.02010-01-03南2010-01-04 100.02010-01-05 89.02010-01-06 88.02010-01-07南