【发布时间】:2019-11-28 17:59:29
【问题描述】:
我有一列整数,有些是唯一的,有些是相同的。我想在每行添加一列介于 0 和 1 之间的随机浮点数,但我希望所有浮点数在每个整数中都相同。
我提供的代码显示了一列整数和第二列随机浮点数,但我需要相同整数的浮点数,例如 1、1 和 1,或 6 和 6,都相同,同时仍然随机生成分配给该 int 的任何浮点数。然而,我正在使用的整数是 8 位数字,而我正在使用的数据集大约有 500,000 行,所以我尽量提高效率。
我创建了一个可行的解决方案,它遍历已创建的数据框,但创建随机列,然后像 ints 一样遍历检查需要很长时间。我不确定是否有更有效的方法。
import numpy as np
import pandas as pd
col1 = [1,1,1,2,3,3,3,4,5,6,6,7]
col2 = np.random.uniform(0,1,12)
data = np.array([col1, col2])
df1 = pd.DataFrame(data=data)
df1 = df1.transpose()
【问题讨论】:
-
转置很慢。
标签: python pandas numpy dataframe random