我有一个csv文件,我想跳过随机百分比的行,但仅针对其中一列具有特定条目的行。例如,我可能有一个csv,其内容在下面,而我想跳过所有苹果条目中的某个百分比:
| a | b | c | d | e |
|----|----|----|----|--------|
0| 9 | 1 | 2 | 3 | apple |
1| 8 | 4 | 5 | 6 | apple |
2| 7 | 7 | 8 | 9 | apple |
3| 6 | 10 | 11 | 12 | orange |
4| 5 | 13 | 14 | 15 | orange |
5| 4 | 16 | 17 | 18 | orange |
6| 3 | 19 | 20 | 21 | orange |
7| 2 | 22 | 23 | 24 | banana |
8| 1 | 25 | 26 | 27 | banana |
9| 0 | 28 | 29 | 30 | banana |
我知道我可以用类似的东西跳过整个文件中的行
df = pd.read_csv('fruit.csv', skiprows = lambda i: i>0 and random.random() > probability_value)
我知道我也可以通过以下方式从数据框中选择苹果条目
df2 = df.loc[df['e'] == 'apple']
但是有没有一种简单的方法可以在导入csv时选择这些条目并应用跳过行,以使所有非“ apple”条目都不受跳过行的影响?
答案 0 :(得分:0)
您可以按照以下步骤进行操作,但是我希望在以后阶段进行操作。
df = pd.read_csv('fruit.csv').query("e != 'apple'")