簡體   English   中英

將一系列值隨機插入 pd.dataframe

[英]Insert a series of values into pd.dataframe randomly

我有一個大數據框,我想要做的是用我設置的新值覆蓋該數據框的 X 個條目。 新條目必須位於隨機位置,但必須按順序排列。 就像我有一個帶有隨機數的列,並且想用新值 x 連續覆蓋其中的 20 個。

我試過df.sample(x)然后更新數據df.sample(x) ,但我只得到單個條目。 但是我需要連續的 X 個新條目(連續)。

有人有解決方案嗎? 我對 Python 很陌生,必須在我的碩士論文中學習它。

澄清:

我的數據框有 5 列,幾乎有 60,000 行,每行一年中的 10 分鍾。

  • 一列是“輸出”,其中包含 10 分鍾的發電量值。
  • 在一年中連續 2 小時(連續 120 分鍾,因此連續 12 行),我想將該產量降低到 60%。 我希望它發生在一年中的隨機時間。
  • 另一列是“狀態”,包含有關產量是否減少的信息。

我試過:

df_update = df.sample(12)
df_update.status = 'reduced'
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.values[0]
df.loc[idx:idx+11,"output"]=0.6
df.loc[idx:idx+11,"status"]=1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM