我刚刚过滤了一些数据,现在有一个.csv文件,但我只是注意到我只需要选择价格最低的行:
示例:
ORIGIN | DESTINA. | PRICE
____________________________
BOG | MAD | 1500
BOG | MAD | 750
BOG | MAD | 1250
BOG | MAD | 1350
BOG | MIA | 450
所以在这个例子中,我只想得到第三和第六行:
ORIGIN | DESTINA. | PRICE
____________________________
BOG | MAD | 750
BOG | MIA | 450
使用python,如何获得最终表?
答案 0 :(得分:1)
将 $myArray = array( 'a','b','c','title1','d','e','f','title2','g','h','title3','i','title4','j','k' );
$newArray=[];
$ind=0;
for($i=0;$i<count($myArray);$i++){
if(preg_match("/title/",$myArray[$i])==1){
$ind++;
}else{
$newArray[$ind][]=$myArray[$i];
}
}
var_dump($newArray);
+ GroupBy
与transform
一起使用:
min
这将使重复的分组最小值保持不变。如果您不想要保留重复项,则可以排序,然后删除重复项:
df = df[df['PRICE'] == df.groupby('ORIGIN')['PRICE'].transform('min')]