这是“ 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-熊猫:在两个索引值之间随机分割索引值 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)