Python 在pd.dataframe中随机插入一系列值

Python 在pd.dataframe中随机插入一系列值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个大数据框,我想做的是用我设置的新值覆盖该数据框的X个条目。新条目必须位于随机位置,但它们必须有序。就像我有一列随机数,想用新的值x覆盖一行中的20个 我尝试了df.sample(x),然后更新了数据帧,但我只得到了单个条目。但是我需要一行中的X个新条目(连续) 有人有办法吗?我对Python还不太熟悉,所以我的硕士论文必须学习Python 澄清: 我的dataframe有5列,几乎有60000行,每行一年10分钟 其中一列是“输出”,其中包含10分钟的发电量值 一年中连续2小时(120

我有一个大数据框,我想做的是用我设置的新值覆盖该数据框的X个条目。新条目必须位于随机位置,但它们必须有序。就像我有一列随机数,想用新的值x覆盖一行中的20个

我尝试了
df.sample(x)
,然后更新了数据帧,但我只得到了单个条目。但是我需要一行中的X个新条目(连续)

有人有办法吗?我对Python还不太熟悉,所以我的硕士论文必须学习Python

澄清:

我的dataframe有5列,几乎有60000行,每行一年10分钟

  • 其中一列是“输出”,其中包含10分钟的发电量值
  • 一年中连续2小时(120分钟,因此连续12行)我想将产量降低到60%。我希望它在一年中的任意时间发生
  • 另一列是“状态”,包含生产是否减少的信息
我试过:

df_update=df.sample(12)
df_update.status='减少'
df.update(df_update)
df.loc[('status)=='reduced',['production']]*=0.6

这对总时间(12*10分钟)来说很关键,但我想要连续120分钟,而不是分开。

我决定获得一个随机值,然后将接下来的12个条目索引为0.6。我想这就是你想要的

df=pd.DataFrame({'output':np.random.randn(20),'status':[0]*20})
idx=df.sample(1.index.value[0]
df.loc[idx:idx+11,“输出”]=0.6
df.loc[idx:idx+11,“状态”]=1

能否请您提供一个输入示例,以及您期望的输出是什么?关键短语是“120连续分钟”或“12连续行”。没问题,如果您希望每年都这样做,我建议您将每年拆分为单独的数据帧。否则,您每年都需要一个新的idx,并且可能会冒着df.loc[idx:idx+11,:]运行到下一年的风险。如果可以的话,那么你最好再做一件事:如果我想将这两个小时设置为一年中的某个特定时间,我将如何使用idx?我还有一个名为“时间”的专栏。所以我可以设置:
python idx=df['time']='xx'。index.values[0]
python并执行相同的操作吗?你的意思是想在一年的子集内随机选取一个索引吗?不,这次没有任何东西是随机的。我通过使用df.loc[(df['time']='01.01.2017 00:10'),['status']]='reduced'将一行状态设置为'reduced',并希望将接下来的12行也设置为'reduced'。我会做与上面类似的事情,除了为您想要设置的任何位置查找idx。在这种情况下,它将是idx=df[df['time']=='01.01.2017 00:10']].index.values[0],然后您可以使用df.loc[idx:idx+11,'status']=“reduced”