假设我有一个名为df
的Pandas数据帧,它有以下内容结构:-你知道吗
Column 1 Column 2 ......... Column 104
Row 1 0.01 0.55 3
Row 2 0.03 0.14 1
...
Row 100 0.75 0.56 0
我试图实现的是,对于所有符合下面给出的条件的行,我需要生成更多的行,每个行添加一个介于0
和0.05
之间的随机值世界其他地区:-你知道吗
is_less = df.iloc[:,-1] > 1
df_try = df[is_less]
df = df.append([df_try]*100,ignore_index=True)
问题是,我可以简单地复制df_try
中的行,为每种情况生成100
更多的行,但是我也想为每一行添加一个随机值,这样每一行都不同于其他行,但非常相似。你知道吗
import random
df = df.append([df_try + random.uniform(0,0.05)]*100, ignore_index=True)
这样做只是简单地将固定的随机值添加到df_try
的100
新行中,而不是将唯一的随机值添加到每一行中。我知道这是因为上面的语法没有迭代dfètry,导致添加固定的随机值,但是在这种情况下,有没有合适的方法在数据帧上迭代添加随机值?你知道吗
一个想法是创建与新附加的} 添加到联接列表:
DataFrame
大小相同的二维数组,并使用^{如果需要向每个
df_try
添加标量,则应通过列表理解更改您的解决方案:您可以先合并副本,然后创建一个包含所有随机值的数组,将它们相加,然后将结果附加到原始值:
输出:
相关问题 更多 >
编程相关推荐