【发布时间】:2019-06-20 06:43:10
【问题描述】:
我有一个 149x5 的 NumPy 数组。我需要保存从整个数组中随机选择的一些(30%)值。另外选定的值将从数据中删除。
到目前为止我所拥有的:
# Load dataset
data = pd.read_csv('iris.csv')
# Select randomly 30%(45) of rows from dataset
random_rows = data.sample(45)
# Object for values to be saved
values = []
# Iterate over rows and select a value randomly.
for index, row in data.iterrows():
# Random between 1 - 5
rand_selector = randint(0, 4)
# Somehow save deleted value and its position in data object
value = ?? <-------
values.append(value)
# Delete random value
del row[rand_selector]
为了进一步补充,来自value 的数据稍后将与其他方法(数据插补)在其位置插补的值进行比较,因此我需要原始数据集中已删除值的位置。
【问题讨论】:
-
这个问题对我来说有点不清楚。您声明,您想保存 30% 的值,但在代码中您使用了 30% 的行。
-
是的,因为我打算每行选择 1 个值,然后保存并删除它。编辑:你说得对,我想删除 30% 的值,但选择了行
标签: python pandas numpy dataframe random