簡體   English   中英

通過numpy數組用行和列替換子集pandas數據框

[英]Replace a subset pandas dataframe with rows and columns via a numpy array

我想使用 numpy 數組來替換 Pandas 數據幀中的子集數據幀。

例如:熊貓數據幀df

df_subset = df.loc[[1,3,5,7,9], ["A", "B", "C"]]

這里,子集數據幀的維度為(5, 3)

下面是 numpy 數組示例,其形狀與我想替換為的子集數據幀相同:

replace_value = np.array([[1, 2, 3], [4, 4, 4], [1, 6, 8], [1, 3, 6], [8, 0, 1]])

有沒有類似的方法:

df_subset.values = replace_value 

我希望我替換的值會直接改變df的原始值。 這意味着,如果我再次使用相同的索引和列對df進行子集化,我將獲得與上面指定為replace_value的 numpy 數組相同的確切值。

您可以通過loc訪問器嘗試:

df.loc[[1,3,5,7,9], ["A", "B", "C"]]=replace_value
#just like you grabbed values you can also assign that back like that

樣本數據:

df=pd.DataFrame(np.random.randn(25,3),columns=["A", "B", "C"])
replace_value = np.array([[1, 2, 3], [4, 4, 4], [1, 6, 8], [1, 3, 6], [8, 0, 1]])
df.loc[[1,3,5,7,9], ["A", "B", "C"]]=replace_value 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM