[英]How to export pandas dataframe into json and retain original datetime format?
[英]Subsetting pandas dataframe and retain original size
我正在嘗試對數據幀進行子集化,但希望新數據幀具有相同大小的原始數據幀。
附加輸入,輸出和預期輸出。
df_input = pd.DataFrame([[1,2,3,4,5], [2,1,4,7,6], [5,6,3,7,0]], columns=["A", "B","C","D","E"])
df_output=pd.DataFrame(df_input.iloc[1:2,:])
df_expected_output=pd.DataFrame([[0,0,0,0,0], [2,1,4,7,6], [0,0,0,0,0]], columns=["A", "B","C","D","E"])
請建議前進的方向。
使用reindex
將子集回原點后設置reindex
。 這會將新行的所有值設置為NaN
,您可以通過fillna
替換為0。 由於NaN
是floa
類型,因此您可以使用astype
將所有內容轉換回int
。
df_input.iloc[1:2,:].reindex(df_input.index).fillna(0).astype(int)
建立
df = pd.DataFrame([[1,2,3,4,5], [2,1,4,7,6], [5,6,3,7,0]], columns=["A", "B","C","D","E"])
output = df_input.iloc[1:2,:]
您可以創建一個mask
並使用乘法:
m = df.index.isin(output.index)
m[:, None] * df
A B C D E
0 0 0 0 0 0
1 2 1 4 7 6
2 0 0 0 0 0
我將使用where
+ between
df_input.where(df_input.index.to_series().between(1,1),other=0)
Out[611]:
A B C D E
0 0 0 0 0 0
1 2 1 4 7 6
2 0 0 0 0 0
還有一個選項是創建具有零值的DataFrame,然后使用df_input slice更新它
df_output = pd.DataFrame(0, index=df_input.index, columns = df_input.columns)
df_output.update(df_input.iloc[1:2,:])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.