Den*_*hen 1 python data-manipulation dataframe python-3.x pandas
我想使用 numpy 数组来替换 Pandas 数据帧中的子集数据帧。
例如:一个熊猫数据框df。
df_subset = df.loc[[1,3,5,7,9], ["A", "B", "C"]]
Run Code Online (Sandbox Code Playgroud)
这里,子集数据帧的维度为(5, 3):
下面是 numpy 数组示例,其形状与我想替换为的子集数据帧相同:
replace_value = np.array([[1, 2, 3], [4, 4, 4], [1, 6, 8], [1, 3, 6], [8, 0, 1]])
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法:
df_subset.values = replace_value
Run Code Online (Sandbox Code Playgroud)
我希望的是我替换的值会直接改变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
Run Code Online (Sandbox Code Playgroud)
样本数据:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |