大佬教程收集整理的这篇文章主要介绍了如何从 Python 中的数据帧更改数组的值?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为 arr1
的数组 @ExperimentalCoroutInesAPI
class MyviewmodelTest {
@get:rule
val instantexecutorRule = InstantTaskExecutorRule()
@get:rule
val coroutInescope = MainCoroutInescopeRule()
private val viewmodel = Myviewmodel(coroutInescope.dispatcher)
@Test
fun teeeeest() = runBlockingTest {
val stateObserver = viewmodel.secondsToWait.test()
//When
viewmodel.startCountDownTimer()
//then
val states = stateObserver.valueHistory()
Assert.assertEquals(SECONDS_DELAY + 1,states.sizE)
Assert.assertEquals(0,states[0])
Assert.assertEquals(SECONDS_DELAY,states[1])
Assert.assertEquals(SECONDS_DELAY - 1,states[2])
Assert.assertEquals(0,states[SECONDS_DELAy])
//etc ... we can create a loop for checking all sates
}
我有一个名为 df_map 的数据框
arr1
Out[23]:
[('001','249','580','E930'),('001','270','290','780'),('030','110','789','990','996','E8779','E9349','V10','V85'),'070','360','400','450','490','V40'),('400','916'),'600','725','780','V10'),('110','200','340','410','420','510'),'430'),('210','720',('070','280','286','300','570')]
我想用数据框中的新值交换数组中的旧值
这是我的代码
df_map
Out[24]:
old New
1 001 A91
2 780 B63
3 E8779 C72
4 V85 D02
5 450 E82
... ...
999 070 F28
但是当我检查 arr1 值时,它们仍然是原始值
我希望 arr1 值成为 df_maps 中的新值
这可以通过将您的数据帧转换为字典来完成,然后只需映射一个函数,该函数从字典中替换列表中的每个元组:
df_map = pd.DataFrame({'Old': ['001','780','E8799','V85','450','070'],'New': ['A91','B63','C72','D02','E82','F28']})
arr1 = [
('001','430'),('210','420','V10'),('070','286','290','570')
]
m = df_map.set_index('Old')['New'].to_Dict()
out = [tuple(map(lambda v:m.get(v,v),t)) for t in arr1]
输出:
[
('A91',('F28','570')
]
以上是大佬教程为你收集整理的如何从 Python 中的数据帧更改数组的值?全部内容,希望文章能够帮你解决如何从 Python 中的数据帧更改数组的值?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。