python-熊猫:在两个索引值之间随机分割索引值

python-熊猫:在两个索引值之间随机分割索引值,第1张

概述这是“ ISO第53周的问题”.我有一个pandas Series实例,其索引值表示ISO周编号:import pandas as pd ts = pd.Series([1,1,1,2,3,1,2], index=[1,1,2,2,52,53,53]) 我想将所有index = 53索引随机且均等地替换为index = 52或index = 1.对于上述情况

这是“ ISO第53周的问题”.

我有一个pandas SerIEs实例,其索引值表示ISO周编号:

import pandas as pdts = pd.SerIEs([1,1,2,3,2],index=[1,52,53,53])

我想将所有index = 53索引随机且均等地替换为index = 52或index = 1.

对于上述情况,可能是:

import pandas as pdts = pd.SerIEs([1,1])

要么

import pandas as pdts = pd.SerIEs([1,52])

例如.请问我该怎么做?

谢谢你的帮助.

编辑

在numpy中,我使用以下方法实现了这一点:

from numpy import wherefrom numpy.random import shuffleindices = where(timestamps == 53)[0]number_of_indices = len(indices)if number_of_indices == 0:    return # no iso week number 53 to fix.shuffle(indices) # randomly shuffle the indices.mIDway_index = number_of_indices // 2timestamps[indices[mIDway_index:]] = 52 # precedence if only 1 timestamp.timestamps[indices[: mIDway_index]] = 1

其中timestamps数组是熊猫索引值.最佳答案如果我对您的理解正确,则列表理解应该可以:

ts = pd.SerIEs([1,53])ts.index = [i if i != 53 else np.random.choice([1,52]) for i in ts.index]1     11     12     12     252    352    11     2dtype: int64
总结

以上是内存溢出为你收集整理的python-熊猫:在两个索引值之间随机分割索引值 全部内容,希望文章能够帮你解决python-熊猫:在两个索引值之间随机分割索引值 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存