Pandas:随机删除行,而不会改组数据集
我有一个数据集,它需要省略几行,同时保留行的顺序。我的想法是使用一个掩码,该掩码0
的长度介于数据集的长度和数据集的长度之间,但是我不确定如何在不对行进行混排的情况下设置掩码,即类似于对数据集进行采样的方法。
示例:数据集有5行和2列,我想随机删除一行。
Col1 | Col2 A | 1
B | 2
C | 5
D | 4
E | 0
转换为:
Col1 | Col2 A | 1
B | 2
D | 4
E | 0
第三行(Col1='C'
)被随机选择省略。
我应该怎么做?
回答:
以下应为您工作。在这里,我remove_n
从df
的索引中随机抽取row_ids
。之后,df.drop
将这些行从数据框中删除,并返回旧数据框的新子集。
import pandas as pdimport numpy as np
np.random.seed(10)
remove_n = 1
df = pd.DataFrame({"a":[1,2,3,4], "b":[5,6,7,8]})
drop_indices = np.random.choice(df.index, remove_n, replace=False)
df_subset = df.drop(drop_indices)
数据框df
:
a b0 1 5
1 2 6
2 3 7
3 4 8
数据框df_subset
:
a b0 1 5
1 2 6
3 4 8
以上是 Pandas:随机删除行,而不会改组数据集 的全部内容, 来源链接: utcz.com/qa/410217.html